Changeset 878e181 in mainline
- Timestamp:
- 2013-03-12T07:30:11Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- b92a0ee
- Parents:
- 7f25c4e (diff), 623bab8f (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Files:
-
- 4 added
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/arm32/include/arch/stack.h
r7f25c4e r878e181 37 37 #define KERN_arm32_STACK_H_ 38 38 39 #include <config.h> 40 41 #define MEM_STACK_SIZE STACK_SIZE 42 39 43 #define STACK_ITEM_SIZE 4 40 44 -
kernel/arch/ia64/include/arch/stack.h
r7f25c4e r878e181 36 36 #define KERN_ia64_STACK_H_ 37 37 38 #include <config.h> 39 40 #define MEM_STACK_SIZE (STACK_SIZE / 2) 41 38 42 #define STACK_ITEM_SIZE 8 39 43 #define STACK_ALIGNMENT 16 -
kernel/arch/mips32/include/arch/stack.h
r7f25c4e r878e181 36 36 #define KERN_mips32_STACK_H_ 37 37 38 #include <config.h> 39 40 #define MEM_STACK_SIZE STACK_SIZE 41 38 42 #define STACK_ITEM_SIZE 4 39 43 #define STACK_ALIGNMENT 8 -
kernel/arch/mips64/include/arch/stack.h
r7f25c4e r878e181 36 36 #define KERN_mips64_STACK_H_ 37 37 38 #include <config.h> 39 40 #define MEM_STACK_SIZE STACK_SIZE 41 38 42 #define STACK_ITEM_SIZE 8 39 43 #define STACK_ALIGNMENT 8 -
kernel/arch/sparc64/include/arch/stack.h
r7f25c4e r878e181 36 36 #define KERN_sparc64_STACK_H_ 37 37 38 #include <config.h> 39 40 #define MEM_STACK_SIZE STACK_SIZE 41 38 42 #define STACK_ITEM_SIZE 8 39 43 -
kernel/generic/src/interrupt/interrupt.c
r7f25c4e r878e181 54 54 #include <proc/thread.h> 55 55 #include <arch/cycle.h> 56 #include <arch/stack.h> 56 57 #include <str.h> 57 58 #include <trace.h> … … 222 223 /* 223 224 * The istate structure should be right at the bottom of the kernel 224 * stack.225 * memory stack. 225 226 */ 226 return (istate_t *) ((uint8_t *) 227 thread->kstack + STACK_SIZE - sizeof(istate_t)); 227 return (istate_t *) &thread->kstack[MEM_STACK_SIZE - sizeof(istate_t)]; 228 228 } 229 229 -
uspace/drv/char/i8042/main.c
r7f25c4e r878e181 36 36 37 37 #include <libarch/inttypes.h> 38 #include <libarch/config.h> 38 39 #include <ddf/driver.h> 39 40 #include <device/hw_res_parsed.h> … … 42 43 #include <ddf/log.h> 43 44 #include <stdio.h> 45 #include <async.h> 44 46 #include "i8042.h" 45 47 … … 152 154 printf("%s: HelenOS PS/2 driver.\n", NAME); 153 155 ddf_log_init(NAME); 156 157 /* 158 * Alleviate the virtual memory / page table pressure caused by 159 * interrupt storms when the default large stacks are used. 160 */ 161 async_set_interrupt_handler_stack_size(PAGE_SIZE); 162 154 163 return ddf_driver_main(&i8042_driver); 155 164 } -
uspace/lib/c/arch/mips32/include/libarch/stack.h
-
Property mode
changed from
120000
to100644
r7f25c4e r878e181 1 ../../../../../../../kernel/arch/mips32/include/arch/stack.h 1 /* 2 * Copyright (c) 2006 Josef Cejka 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 9 * - Redistributions of source code must retain the above copyright 10 * notice, this list of conditions and the following disclaimer. 11 * - Redistributions in binary form must reproduce the above copyright 12 * notice, this list of conditions and the following disclaimer in the 13 * documentation and/or other materials provided with the distribution. 14 * - The name of the author may not be used to endorse or promote products 15 * derived from this software without specific prior written permission. 16 * 17 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 18 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 19 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 */ 28 29 /** @addtogroup libcmips32 30 * @{ 31 */ 32 /** @file 33 */ 34 35 #ifndef LIBC_mips32_STACK_H_ 36 #define LIBC_mips32_STACK_H_ 37 38 #define STACK_ITEM_SIZE 4 39 #define STACK_ALIGNMENT 8 40 #define ABI_STACK_FRAME 32 41 42 #endif 43 44 /** @} 45 */ -
Property mode
changed from
-
uspace/lib/c/arch/mips64/include/libarch/stack.h
-
Property mode
changed from
120000
to100644
r7f25c4e r878e181 1 ../../../../../../../kernel/arch/mips64/include/arch/stack.h 1 /* 2 * Copyright (c) 2006 Josef Cejka 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 9 * - Redistributions of source code must retain the above copyright 10 * notice, this list of conditions and the following disclaimer. 11 * - Redistributions in binary form must reproduce the above copyright 12 * notice, this list of conditions and the following disclaimer in the 13 * documentation and/or other materials provided with the distribution. 14 * - The name of the author may not be used to endorse or promote products 15 * derived from this software without specific prior written permission. 16 * 17 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 18 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 19 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 */ 28 29 /** @addtogroup libcmips64 30 * @{ 31 */ 32 /** @file 33 */ 34 35 #ifndef LIBC_mips64_STACK_H_ 36 #define LIBC_mips64_STACK_H_ 37 38 #define STACK_ITEM_SIZE 8 39 #define STACK_ALIGNMENT 8 40 #define ABI_STACK_FRAME 64 41 42 #endif 43 44 /** @} 45 */ -
Property mode
changed from
-
uspace/lib/c/generic/async.c
r7f25c4e r878e181 350 350 static async_client_conn_t client_connection = default_client_connection; 351 351 static async_interrupt_handler_t interrupt_received = default_interrupt_received; 352 static size_t interrupt_handler_stksz = (size_t) -1; 352 353 353 354 /** Setter for client_connection function pointer. … … 370 371 { 371 372 interrupt_received = intr; 373 } 374 375 /** Set the stack size for the interrupt handler notification fibrils. 376 * 377 * @param size Stack size. Use -1 to use the system default stack size. 378 */ 379 void async_set_interrupt_handler_stack_size(size_t size) 380 { 381 interrupt_handler_stksz = size; 372 382 } 373 383 … … 587 597 msg->call = *call; 588 598 589 fid_t fid = fibril_create(notification_fibril, msg); 599 fid_t fid = fibril_create_generic(notification_fibril, msg, 600 interrupt_handler_stksz); 590 601 if (fid == 0) { 591 602 free(msg); -
uspace/lib/c/generic/fibril.c
r7f25c4e r878e181 256 256 * @param func Implementing function of the new fibril. 257 257 * @param arg Argument to pass to func. 258 * @param stksz Stack size, -1 for the system default stack size. 258 259 * 259 260 * @return 0 on failure or TLS of the new fibril. 260 261 * 261 262 */ 262 fid_t fibril_create (int (*func)(void *), void *arg)263 fid_t fibril_create_generic(int (*func)(void *), void *arg, size_t stksz) 263 264 { 264 265 fibril_t *fibril; … … 268 269 return 0; 269 270 270 size_t stack_size = stack_size_get();271 size_t stack_size = (stksz == (size_t) -1) ? stack_size_get() : stksz; 271 272 fibril->stack = as_area_create((void *) -1, stack_size, 272 273 AS_AREA_READ | AS_AREA_WRITE | AS_AREA_CACHEABLE | AS_AREA_GUARD | -
uspace/lib/c/include/async.h
r7f25c4e r878e181 156 156 extern void async_set_client_connection(async_client_conn_t); 157 157 extern void async_set_interrupt_received(async_interrupt_handler_t); 158 extern void async_set_interrupt_handler_stack_size(size_t); 158 159 159 160 /* -
uspace/lib/c/include/fibril.h
r7f25c4e r878e181 86 86 extern void context_restore(context_t *ctx) __attribute__((noreturn)); 87 87 88 extern fid_t fibril_create(int (*func)(void *), void *arg); 88 #define fibril_create(func, arg) \ 89 fibril_create_generic((func), (arg), (size_t) -1) 90 extern fid_t fibril_create_generic(int (*func)(void *), void *arg, size_t); 89 91 extern void fibril_destroy(fid_t fid); 90 92 extern fibril_t *fibril_setup(void); -
uspace/lib/c/include/macros.h
r7f25c4e r878e181 38 38 #define min(a, b) ((a) < (b) ? (a) : (b)) 39 39 #define max(a, b) ((a) > (b) ? (a) : (b)) 40 #define abs(a) ((a) >= 0 ? (a) : (-a))40 #define abs(a) ((a) >= 0 ? (a) : -(a)) 41 41 42 42 -
version
r7f25c4e r878e181 46 46 47 47 NAME = Fajtl 48 COPYRIGHT = Copyright (c) 2001-201 2HelenOS project48 COPYRIGHT = Copyright (c) 2001-2013 HelenOS project 49 49
Note:
See TracChangeset
for help on using the changeset viewer.