Commit Graph

19 Commits

Author SHA1 Message Date
Hugo Santos cdb3eb762a the previously added IO interrupt handling routines are no longer necessary, at least for now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21046 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-06 22:40:52 +00:00
Hugo Santos 5502e596dc added io_interrupt_handler methods for dynamic handling of IO interrupts, including enabling/disabling without allocation and in interrupt context.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21040 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-06 15:07:56 +00:00
Travis Geiselbrecht badc7b674e yet another fix for #1018, which has at this point blossomed into a reorg of how AP cpus are initialized.
the new cpuid stuff was apparently exacerbating an existing problem where various bits of low level
cpu code (specifically get_current_cpu) weren't really initialized before being used. Changed the
order to set up a fake set of threads to point each cpu at really early in boot to make sure that at
all points in code it can get the current 'thread' and thus the current cpu.
A probably better solution would be to have dr3 point to the current cpu which would then point to the 
current thread, but that has a race condition that would require an int disable, etc.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20160 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-19 00:11:24 +00:00
Jérôme Duval 551b4152f6 added the format expected by panic to throw warnings on compilation
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18650 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-26 17:49:43 +00:00
Oliver Tappe b66ae2c9c8 - moved dumpBlock() into debug.c, renamed it to dump_block() and added it
to kernel-exports.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18268 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-25 19:46:36 +00:00
Axel Dörfler d4112f6bc5 Applied some changes suggested by mmu_man, more to come, though:
- has_signals_pending() is not declared in Be headers, and it isn't declared in
  our KernelExport.h anymore, too
- removed snooze_etc() from KernelExport.h, as it's already defined in OS.h
  (and really exported by libroot.so).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12506 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-29 11:41:12 +00:00
Axel Dörfler b20667b35b {install|remove}_io_interrupt_handler() now correctly handle the B_NO_ENABLE_COUNTER flag.
Lots of cleanup:
- moved B_NO_ENABLE_COUNTER flag definition out of int.h to KernelExport.h, as it's
  described in the BeBook (although it's probably not really used that often :))
- int.c no longer has any platform dependent code (+ 0x20 on interrupt numbers is gone);
  it's now entirely handled in the arch/x86/ section.
- the io_vectors[] is now statically initialized, instead of allocated from the heap
- removed {install|remove}_interrupt_handler(); they weren't that useful, arch_smp_init()
  is now calling install_io_interrupt_handler() correctly instead
- introduced a new arch_int.h header file that currently contains NUM_IO_VECTORS only
  (though on x86, it also has ARCH_INTERRUPT_BASE == 0x20).
- changed the return type from {install|remove}_io_interrupt_handler() from "long" to
  "status_t"
- rearranged and cleaned the PIC initialization code, made the PIC code more prominent
- changed comments that talk about a non existing 8239 (the PIC chip is actually 8259)
- moved arch/x86/interrupts.h to the source directory, as it's not used outside
- added BeOS compatible interrupts_enabled() function, that should replace our
  equivalent (and private) are_interrupts_enabled()


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12477 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-27 01:08:35 +00:00
Ingo Weinhold ed932a9564 Added B_USER_CLONEABLE_AREA protection flag. Here it does belong.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11048 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 22:55:13 +00:00
Axel Dörfler 47d0b95b38 Moved B_KERNEL_{READ|WRITE_AREA} from vm_types.h to KernelExport.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10425 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-13 22:00:23 +00:00
Axel Dörfler 2f88663bae Moved the user_memcpy()/strlcpy()/memset() calls to KernelExport.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9102 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-29 10:22:34 +00:00
Axel Dörfler faffd0f3d7 spawn_kernel_thread() now matches the spawn_thread() prototype - there
is no reason for them to be different.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7909 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-11 15:39:56 +00:00
Axel Dörfler ebb6a50a53 Fixed the prototype of parse_expression() - it's parameter should be const.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7840 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 06:25:18 +00:00
Axel Dörfler 1648d0d88e daemon_hook typedef wasn't R5 compatible.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7627 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-23 23:14:49 +00:00
Axel Dörfler f5e4e662cd Fixed a missing const.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2706 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-14 14:27:34 +00:00
Philippe Houdoin e803870545 Forgot to commit these... Should fix network stuff build issues.
Add again the load_driver_symbols() export into our KernelExport.h, as it's expected
by many kernel add-ons (drivers, modules)... the network ones, for a start.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2672 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-09 21:05:37 +00:00
Axel Dörfler b16ed21a04 Our new KernelExport.h header.
Typedefs for debugger and kernel daemon hooks, cleaned up.
Added a ToDo item about the "abuse" of the quent structure.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2581 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-27 13:48:39 +00:00
lillo 5cdacbaabb *LOTS* of small changes to make the kernel compatible with Be's KernelExport.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 16:13:36 +00:00
beveloper d7e489f80a modified to provider better R5 compatibility
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1615 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-23 13:45:47 +00:00
Philippe Houdoin 53ae93e6d5 Source compatibility objective: time to add some BeOS specific public headers.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1091 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-19 22:33:58 +00:00