haiku/headers/private/kernel
Michael Lotz 8908aef9c2 * Don't map the IO-APIC within the bootloader. We don't need it to set up SMP
at all and, since there can be multiple IO-APICs, we need to do the
  enumeration again in the kernel anyway. Also only set ioapic_phys the first
  time we encounter an IO-APIC object as it looks cleaner when we arrive at the
  first IO-APIC default address.
* Therefore we don't have to worry about already mapped IO-APICs when
  enumerating them in the kernel.
* Also remove the mapping function that is now not used anymore.
* We still use the ioapic_phys field of the kernel args to determine whether
  there is an IO-APIC at all to avoid needlessly doing the enumeration again.

This fixes multi IO-APIC configurations, because before we would indeed map
the last IO-APIC listed in the MADT, but then in the kernel assumed we mapped
the first one. We'd end up with mapping the last listed IO-APIC twice and the
first IO-APIC never, always programming the last one when we actually targetted
the first one.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41476 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-13 16:31:31 +00:00
..
arch * Don't map the IO-APIC within the bootloader. We don't need it to set up SMP 2011-05-13 16:31:31 +00:00
boot added exFAT partition type 2011-02-09 20:30:00 +00:00
disk_device_manager * Got rid of the duplicated functionalities provided by RWLocker.cpp, and 2009-10-12 14:29:05 +00:00
fs Reverted the part of r31520 that made devfs_unpublish_partition() take a raw 2010-01-09 03:55:38 +00:00
platform Convert line endings to LF 2010-06-26 17:38:03 +00:00
posix Merged the signals branch into trunk, with these changes: 2011-01-10 21:54:38 +00:00
slab Changed object_depot_store() return value to void. It is now always takes 2010-02-24 19:04:41 +00:00
util Merged the signals branch into trunk, with these changes: 2011-01-10 21:54:38 +00:00
vm Merged the signals branch into trunk, with these changes: 2011-01-10 21:54:38 +00:00
block_cache.h
boot_device.h * vfs_boot.cpp now also exports gReadOnlyBootDevice which is true when the 2009-06-05 15:52:58 +00:00
boot_item.h
boot_splash.h
commpage.h Split the commpage initialization into two parts. The second part is executed 2009-06-24 13:53:58 +00:00
condition_variable.h Merged the signals branch into trunk, with these changes: 2011-01-10 21:54:38 +00:00
console.h
cpu.h Merged the signals branch into trunk, with these changes: 2011-01-10 21:54:38 +00:00
debug_heap.h Replaced the temporary storage used in the kernel debug command parser. We now 2009-06-03 12:28:49 +00:00
debug_paranoia.h
debug.h Merged the signals branch into trunk, with these changes: 2011-01-10 21:54:38 +00:00
debugger_keymaps.h
elf_priv.h * elf_find_symbol(): Skip undefined symbols and symbols with the wrong binding. 2010-11-26 13:32:24 +00:00
elf.h Merged the signals branch into trunk, with these changes: 2011-01-10 21:54:38 +00:00
file_cache.h * Moved the VM headers into subdirectory vm/. 2009-12-02 18:05:10 +00:00
frame_buffer_console.h * If the VESA driver remaps the frame buffer on init, it will now also make 2010-01-01 14:54:41 +00:00
generic_syscall.h
heap.h Added a heap_init_post_area() which is called right after areas can be 2010-05-18 15:51:27 +00:00
int.h Removed unnecessary inclusions of <boot/kernel_args.h> in private kernel 2010-06-25 22:16:10 +00:00
kdevice_manager.h
kdriver_settings.h
kernel_c++_structs.h Attempt at allowing to use C++ structures in C only code: We use the 2009-12-02 10:56:10 +00:00
kernel_daemon.h
kernel.h * IS_KERNEL_ADDRESS(): Avoid the check against KERNEL_BASE or KERNEL_TOP, if 2011-01-03 17:56:04 +00:00
kimage.h Merged the signals branch into trunk, with these changes: 2011-01-10 21:54:38 +00:00
kmodule.h
kscheduler.h Merged the signals branch into trunk, with these changes: 2011-01-10 21:54:38 +00:00
ksignal.h Merged the signals branch into trunk, with these changes: 2011-01-10 21:54:38 +00:00
ksyscalls.h
ksystem_info.h Switch haiku-revision from uint32 to string, as that's going to be required soon, no matter if we switch to Git or Mercurial 2011-05-08 20:02:42 +00:00
listeners.h Merged the signals branch into trunk, with these changes: 2011-01-10 21:54:38 +00:00
lock.h Added rw_lock_read_lock_with_timeout(). 2010-07-22 11:10:48 +00:00
low_resource_manager.h * The kernel's address space is now also a resource that is known to the low 2009-11-27 13:03:28 +00:00
messaging.h
MessagingServiceDefs.h
Notifications.h Replace uses of obsolescent BReference[able] API. 2010-12-16 14:29:37 +00:00
port.h Merged the signals branch into trunk, with these changes: 2011-01-10 21:54:38 +00:00
real_time_clock.h Optimised passing around of timezone a bit 2010-08-16 22:01:28 +00:00
safemode.h
scheduling_analysis.h Changed ConditionVariable from class to struct to make it more C-friendly. 2009-06-22 23:49:05 +00:00
sem.h Merged the signals branch into trunk, with these changes: 2011-01-10 21:54:38 +00:00
smp.h Eliminated _acquire_spinlock(). Since the macro is defined after 2010-11-26 13:55:20 +00:00
syscall_restart.h Merged the signals branch into trunk, with these changes: 2011-01-10 21:54:38 +00:00
system_profiler.h * It seems we always have to specify all flags to make it work; removed "flags" 2009-07-21 12:09:15 +00:00
team.h Merged the signals branch into trunk, with these changes: 2011-01-10 21:54:38 +00:00
thread_types.h Merged the signals branch into trunk, with these changes: 2011-01-10 21:54:38 +00:00
thread.h Merged the signals branch into trunk, with these changes: 2011-01-10 21:54:38 +00:00
timer.h Fix gcc4 build. 2009-09-25 14:36:26 +00:00
tracing.h Merged the signals branch into trunk, with these changes: 2011-01-10 21:54:38 +00:00
user_atomic.h Some ppc fixes for #4115, patch by kallisti5 (without the #ifdef _BOOT_MODE): 2009-08-03 10:10:22 +00:00
user_debugger.h Merged the signals branch into trunk, with these changes: 2011-01-10 21:54:38 +00:00
user_mutex.h * Moved created subdirectory src/system/kernel/lock.cpp to new subdirectory 2010-04-11 16:07:39 +00:00
usergroup.h Merged the signals branch into trunk, with these changes: 2011-01-10 21:54:38 +00:00
vfs.h * add implementation of bindfs, which can be used to bind-mount 2011-01-16 16:33:11 +00:00
wait_for_objects.h