#
e690e5ab |
|
12-Jul-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Proper fix for GCC 2 compilation error that was fixed earlier, cause pointed out by Ingo.
|
#
76a1175d |
|
11-Jul-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Support for SMP on x86_64. No major changes to the kernel: just compiled in arch_smp.cpp and fixed the IDT load in arch_cpu_init_percpu to use the correct limit for x86_64 (uses sizeof(interrupt_descriptor)). In the boot loader, changed smp_boot_other_cpus to construct a temporary GDT and get the page directory address from CR3, as what's in kernel_args will be 64-bit stuff and will not work to switch the CPUs into 32-bit mode in the trampoline code. Refactored 64-bit kernel entry code to not use the stack after disabling paging, as the secondary CPUs are given a 32-bit virtual stack address by the SMP trampoline code which will no longer work.
|
#
e812c77e |
|
01-Jan-2008 |
Michael Lotz <mmlr@mlotz.ch> |
* Delay initializing SMP stuff like APICs and kstacks of non-boot CPUs until after the boot menu * When disabling SMP initialization of those parts is avoided so it works more cleanly * Moved smp_find_mp_config() into smp_init() and moved MPS specific parts into smp_do_mp_config() * Removed the global floating struct, if found it is now passed into smp_do_mp_config() like it is done for ACPI * Made the file a bit more C++, applied coding style to some variable names and unified/improved some of the debug output git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23216 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8fcd6b8e |
|
26-Oct-2005 |
Axel Dörfler <axeld@pinc-software.de> |
* renamed smp_boot.c to smp.cpp * there is now a "Disable Hyper-Threading" safemode in the boot loader * the SMP & HT menu items are now added in smp.cpp - and are only added if the system supports one of them. * more cleanup to smp_apic.h * removed cpuid() from the boot loader's support.S - instead, it will now use the one from the kernel. * added a very weak HT detection: if the MP config only listed one CPU, and this CPU supports HT, we enable the other logic processor manually - as this currently doesn't work, it's disabled, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14536 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5af32e75 |
|
13-Apr-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Renamed src/kernel to src/system. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12359 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e690e5ab3b4adc583b94a27400b7fd12da80ce51 |
|
12-Jul-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Proper fix for GCC 2 compilation error that was fixed earlier, cause pointed out by Ingo.
|
#
76a1175dbe1a314563ca18c0b7fb82695a9730cd |
|
11-Jul-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Support for SMP on x86_64. No major changes to the kernel: just compiled in arch_smp.cpp and fixed the IDT load in arch_cpu_init_percpu to use the correct limit for x86_64 (uses sizeof(interrupt_descriptor)). In the boot loader, changed smp_boot_other_cpus to construct a temporary GDT and get the page directory address from CR3, as what's in kernel_args will be 64-bit stuff and will not work to switch the CPUs into 32-bit mode in the trampoline code. Refactored 64-bit kernel entry code to not use the stack after disabling paging, as the secondary CPUs are given a 32-bit virtual stack address by the SMP trampoline code which will no longer work.
|
#
e812c77e4a8a2f5d923cd3a903ab3d4d38187488 |
|
01-Jan-2008 |
Michael Lotz <mmlr@mlotz.ch> |
* Delay initializing SMP stuff like APICs and kstacks of non-boot CPUs until after the boot menu * When disabling SMP initialization of those parts is avoided so it works more cleanly * Moved smp_find_mp_config() into smp_init() and moved MPS specific parts into smp_do_mp_config() * Removed the global floating struct, if found it is now passed into smp_do_mp_config() like it is done for ACPI * Made the file a bit more C++, applied coding style to some variable names and unified/improved some of the debug output git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23216 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8fcd6b8e61e367a9f832f7e9fe60f8d7c6868313 |
|
26-Oct-2005 |
Axel Dörfler <axeld@pinc-software.de> |
* renamed smp_boot.c to smp.cpp * there is now a "Disable Hyper-Threading" safemode in the boot loader * the SMP & HT menu items are now added in smp.cpp - and are only added if the system supports one of them. * more cleanup to smp_apic.h * removed cpuid() from the boot loader's support.S - instead, it will now use the one from the kernel. * added a very weak HT detection: if the MP config only listed one CPU, and this CPU supports HT, we enable the other logic processor manually - as this currently doesn't work, it's disabled, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14536 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5af32e752606778be5dd7379f319fe43cb3f6b8c |
|
13-Apr-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Renamed src/kernel to src/system. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12359 a95241bf-73f2-0310-859d-f6bbb57e9c96
|