Syllable Forum Index Syllable
Syllable Forums
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

VirtualBox smp

 
Post new topic   Reply to topic    Syllable Forum Index -> Bugs
View previous topic :: View next topic  
Author Message
NecroRomancist



Joined: 18 Sep 2007
Posts: 272

PostPosted: Sun Jun 05, 2011 8:29 am    Post subject: VirtualBox smp Reply with quote

[code]


0 : CPU: Intel(R) Core(TM)2 Duo CPU T6570 @ 2.10GHz (family 0x6 model 0x17)
0 : Multiboot memory map:
0 : 0000000000000000 - 000000000009fc00 (usable)
0 : 000000000009fc00 - 00000000000a0000 (reserved)
0 : 00000000000f0000 - 0000000000100000 (reserved)
0 : 0000000000100000 - 000000001fff0000 (usable)
0 : 000000001fff0000 - 0000000020000000 (ACPI data)
0 : 00000000fffc0000 - 0000000100000000 (reserved)
0 : Scan memory for ACPI SMP config tables...
0 : Scan memory for MPC SMP config tables...
0 : Intel SMP v1.4
0 : Virtual Wire compatibility mode.
0 : OEM ID: VBOXCPU Product ID: VirtualBox
0 : Processor #0 Pentium(tm) Pro APIC version 20
0 : Floating point unit present.
0 : Machine Exception supported.
0 : 64 bit compare & exchange supported.
0 : Internal APIC present.
0 : Bootup CPU
0 : Processor #1 Pentium(tm) Pro APIC version 20
0 : Floating point unit present.
0 : Machine Exception supported.
0 : 64 bit compare & exchange supported.
0 : Internal APIC present.
0 : Bus 1 is ISA
0 : Bus 0 is PCI
0 : I/O APIC 0 Version 17 at 0xFEC00000.
0 : 2 processors found.
0 : Boot from CPU #0.
0 : Calibrating delay loop for CPU 0
0 : CPU 0 - 3661.82 BogoMIPS (lpj=1830912)
0 : CPU 0 runs at 2074.1165 MHz
0 : CPU 0 bus runs at 999.9197 MHz
0 : Start init thread
0:init::init(-1) : Booting processor #1
0:init::init(-1) : **general protection fault**
0:init::init(-1) : ERROR CODE = 00000040
0:init::init(-1) : EAX = 00000040 : EBX = 00000000 : ECX = 00000000 : EDX = 00000000
0:init::init(-1) : ESI = 00000000 : EDI = 00000000 : EBP = 006c2010
0:init::init(-1) : SS::ESP = b940::ffff0000
0:init::init(-1) : CS::EIP = 0038::0010f4fb
0:init::init(-1) : DS = 0018 : ES = 0018 : FS = 0018 : GS = 0018
0:init::init(-1) : EFLAGS = 00010002 (RF )
0:init::init(-1) : CPU ID = 0 : kernel stack = 006ba014
0:init::init(-1) : 0 -> 0010f4fb
0:init::init(-1) : *unknown* + 0010f4fb -> *unknown* + 0010f4fb
0:init::init(-1) : 1 -> 00000000
0:init::init(-1) : *unknown* + 00000000 -> *unknown* + 00000000
0:init::init(-1) : verify_area() got kernel address 00000000
0:init::init(-1) :
0:init::init(-1) : Areas :
0:init::init(-1) : **general protection fault**
0:init::init(-1) : ERROR CODE = 00000038
0:init::init(-1) : EAX = 00000040 : EBX = 00000000 : ECX = 00000000 : EDX = 00000000
0:init::init(-1) : ESI = 00000000 : EDI = 00000000 : EBP = 006c2010
0:init::init(-1) : SS::ESP = 0038::0010f4fb
0:init::init(-1) : CS::EIP = 0008::0010449e
0:init::init(-1) : DS = 0018 : ES = 0018 : FS = 0023 : GS = 0018
0:init::init(-1) : EFLAGS = 00010012 (AF RF )
0:init::init(-1) : CPU ID = 0 : kernel stack = 006ba014
0:init::init(-1) : 0 -> 0010449e
0:init::init(-1) : *unknown* + 0010449e -> *unknown* + 0010449e
0:init::init(-1) : 1 -> 00000000
0:init::init(-1) : *unknown* + 00000000 -> *unknown* + 00000000
0:init::init(-1) : verify_area() got kernel address 00000000
0:init::init(-1) :
0:init::init(-1) : Areas :
0:init::init(-1) : **general protection fault**
0:init::init(-1) : ERROR CODE = 00000038
0:init::init(-1) : EAX = 00000040 : EBX = 00000000 : ECX = 00000000 : EDX = 00000000
0:init::init(-1) : ESI = 00000000 : EDI = 00000000 : EBP = 006c2010
0:init::init(-1) : SS::ESP = 0038::0010f4fb
0:init::init(-1) : CS::EIP = 0008::0010449e
0:init::init(-1) : DS = 0018 : ES = 0018 : FS = 0023 : GS = 0018
0:init::init(-1) : EFLAGS = 00010012 (AF RF )
0:init::init(-1) : CPU ID = 0 : kernel stack = 006ba014
0:init::init(-1) : 0 -> 0010449e
0:init::init(-1) : *unknown* + 0010449e -> *unknown* + 0010449e
0:init::init(-1) : 1 -> 00000000
0:init::init(-1) : *unknown* + 00000000 -> *unknown* + 00000000
0:init::init(-1) : verify_area() got kernel address 00000000
0:init::init(-1) :
0:init::init(-1) : Areas :
0:init::init(-1) : **general protection fault**
0:init::init(-1) : ERROR CODE = 00000038
0:init::init(-1) : EAX = 00000040 : EBX = 00000000 : ECX = 00000000 : EDX = 00000000
0:init::init(-1) : ESI = 00000000 : EDI = 00000000 : EBP = 006c2010
0:init::init(-1) : SS::ESP = 0038::0010f4fb
0:init::init(-1) : CS::EIP = 0008::0010449e
0:init::init(-1) : DS = 0018 : ES = 0018 : FS = 0023 : GS = 0018
0:init::init(-1) : EFLAGS = 00010012 (AF RF )
0:init::init(-1) : CPU ID = 0 : kernel stack = 006ba014
0:init::init(-1) : 0 -> 0010449e
0:init::init(-1) : *unknown* + 0010449e -> *unknown* + 0010449e
0:init::init(-1) : 1 -> 00000000
0:init::init(-1) : *unknown* + 00000000 -> *unknown* + 00000000
0:init::init(-1) : verify_area() got kernel address 00000000
0:init::init(-1) :
0:init::init(-1) : Areas :
0:init::init(-1) : **general protection fault**
0:init::init(-1) : ERROR CODE = 00000038
0:init::init(-1) : EAX = 00000040 : EBX = 00000000 : ECX = 00000000 : EDX = 00000000
0:init::init(-1) : ESI = 00000000 : EDI = 00000000 : EBP = 006c2010
0:init::init(-1) : SS::ESP = 0038::0010f4fb
0:init::init(-1) : CS::EIP = 0008::0010449e
0:init::init(-1) : DS = 0018 : ES = 0018 : FS = 0023 : GS = 0018
0:init::init(-1) : EFLAGS = 00010012 (AF RF )
0:init::init(-1) : CPU ID = 0 : kernel stack = 006ba014
0:init::init(-1) : 0 -> 0010449e
0:init::init(-1) : *unknown* + 0010449e -> *unknown* + 0010449e
0:init::init(-1) : 1 -> 00000000
0:init::init(-1) : *unknown* + 00000000 -> *unknown* + 00000000
0:init::init(-1) : verify_area() got kernel address 00000000
0:init::init(-1) :
0:init::init(-1) : Areas :
0:init::init(-1) : **general protection fault**
0:init::init(-1) : ERROR CODE = 00000038
0:init::init(-1) : EAX = 00000040 : EBX = 00000000 : ECX = 00000000 : EDX = 00000000
0:init::init(-1) : ESI = 00000000 : EDI = 00000000 : EBP = 006c2010
0:init::init(-1) : SS::ESP = 0038::0010f4fb
0:init::init(-1) : CS::EIP = 0008::0010449e
0:init::init(-1) : DS = 0018 : ES = 0018 : FS = 0023 : GS = 0018
0:init::init(-1) : EFLAGS = 00010012 (AF RF )
0:init::init(-1) : CPU ID = 0 : kernel stack = 006ba014
0:init::init(-1) : 0 -> 0010449e
0:init::init(-1) : *unknown* + 0010449e -> *unknown* + 0010449e
0:init::init(-1) : 1 -> 00000000
0:init::init(-1) : *unknown* + 00000000 -> *unknown* + 00000000
0:init::init(-1) : verify_area() got kernel address 00000000
0:init::init(-1) :
0:init::init(-1) : Areas :
0:init::init(-1) : **general protection fault**
0:init::init(-1) : ERROR CODE = 00000038
0:init::init(-1) : EAX = 00000040 : EBX = 00000000 : ECX = 00000000 : EDX = 00000000
0:init::init(-1) : ESI = 00000000 : EDI = 00000000 : EBP = 006c2010
0:init::init(-1) : SS::ESP = 0038::0010f4fb
0:init::init(-1) : CS::EIP = 0008::0010449e
0:init::init(-1) : DS = 0018 : ES = 0018 : FS = 0023 : GS = 0018
0:init::init(-1) : EFLAGS = 00010012 (AF RF )
0:init::init(-1) : CPU ID = 0 : kernel stack = 006ba014
0:init::init(-1) : 0 -> 0010449e
0:init::init(-1) : *unknown* + 0010449e -> *unknown* + 0010449e
0:init::init(-1) : 1 -> 00000000
0:init::init(-1) : *unknown* + 00000000 -> *unknown* + 00000000
0:init::init(-1) : verify_area() got kernel address 00000000
0:init::init(-1) :
0:init::init(-1) : Areas :
0:init::init(-1) : **general protection fault**
0:init::init(-1) : ERROR CODE = 00000038
0:init::init(-1) : EAX = 00000040 : EBX = 00000000 : ECX = 00000000 : EDX = 00000000
0:init::init(-1) : ESI = 00000000 : EDI = 00000000 : EBP = 006c2010
0:init::init(-1) : SS::ESP = 0038::0010f4fb
0:init::init(-1) : CS::EIP = 0008::0010449e
0:init::init(-1) : DS = 0018 : ES = 0018 : FS = 0023 : GS = 0018
0:init::init(-1) : EFLAGS = 00010012 (AF RF )
0:init::init(-1) : CPU ID = 0 : kernel stack = 006ba014
0:init::init(-1) : 0 -> 0010449e
0:init::init(-1) : *unknown* + 0010449e -> *unknown* + 0010449e
0:init::init(-1) : 1 -> 00000000
0:init::init(-1) : *unknown* + 00000000 -> *unknown* + 00000000
0:init::init(-1) : verify_area() got kernel address 00000000
0:init::init(-1) :
0:init::init(-1) : Areas :
0:init::init(-1) : **general protection fault**
0:init::init(-1) : ERROR CODE = 00000038
0:init::init(-1) : EAX = 00000040 : EBX = 00000000 : ECX = 00000000 : EDX = 00000000
0:init::init(-1) : ESI = 00000000 : EDI = 00000000 : EBP = 006c2010
0:init::init(-1) : SS::ESP = 0038::0010f4fb
0:init::init(-1) : CS::EIP = 0008::0010449e
0:init::init(-1) : DS = 0018 : ES = 0018 : FS = 0023 : GS = 0018
0:init::init(-1) : EFLAGS = 00010012 (AF RF )
0:init::init(-1) : CPU ID = 0 : kernel stack = 006ba014
0:init::init(-1) : 0 -> 0010449e
0:init::init(-1) : *unknown* + 0010449e -> *unknown* + 0010449e
0:init::init(-1) : 1 -> 00000000
0:init::init(-1) : *unknown* + 00000000 -> *unknown* + 00000000
0:init::init(-1) : verify_area() got kernel address 00000000
0:init::init(-1) :
0:init::init(-1) : Areas :
0:init::init(-1) : **general protection fault**
0:init::init(-1) : ERROR CODE = 00000038
0:init::init(-1) : EAX = 00000040 : EBX = 00000000 : ECX = 00000000 : EDX = 00000000
0:init::init(-1) : ESI = 00000000 : EDI = 00000000 : EBP = 006c2010
0:init::init(-1) : SS::ESP = 0038::0010f4fb
0:init::init(-1) : CS::EIP = 0008::0010449e
0:init::init(-1) : DS = 0018 : ES = 0018 : FS = 0023 : GS = 0018
0:init::init(-1) : EFLAGS = 00010012 (AF RF )
0:init::init(-1) : CPU ID = 0 : kernel stack = 006ba014
0:init::init(-1) : 0 -> 0010449e
0:init::init(-1) : *unknown* + 0010449e -> *unknown* + 0010449e
0:init::init(-1) : 1 -> 00000000
0:init::init(-1) : *unknown* + 00000000 -> *unknown* + 00000000
0:init::init(-1) : verify_area() got kernel address 00000000
0:init::init(-1) :
0:init::init(-1) : Areas :
0:init::init(-1) : **general protection fault**
0:init::init(-1) : ERROR CODE = 00000038
0:init::init(-1) : EAX = 00000040 : EBX = 00000000 : ECX = 00000000 : EDX = 00000000
0:init::init(-1) : ESI = 00000000 : EDI = 00000000 : EBP = 006c2010
0:init::init(-1) : SS::ESP = 0038::0010f4fb
0:init::init(-1) : CS::EIP = 0008::0010449e
0:init::init(-1) : DS = 0018 : ES = 0018 : FS = 0023 : GS = 0018
0:init::init(-1) : EFLAGS = 00010012 (AF RF )
0:init::init(-1) : CPU ID = 0 : kernel stack = 006ba014
0:init::init(-1) : 0 -> 0010449e
0:init::init(-1) : *unknown* + 0010449e -> *unknown* + 0010449e
0:init::init(-1) : 1 -> 00000000
0:init::init(-1) : *unknown* + 00000000 -> *unknown* + 00000000
0:init::init(-1) : verify_area() got kernel address 00000000
0:init::init(-1) :
0:init::init(-1) : Areas :
0:init::init(-1) : **general protection fault**
0:init::init(-1) : ERROR CODE = 00000038
0:init::init(-1) : EAX = 00000040 : EBX = 00000000 : ECX = 00000000 : EDX = 00000000
0:init::init(-1) : ESI = 00000000 : EDI = 00000000 : EBP = 006c2010
0:init::init(-1) : SS::ESP = 0038::0010f4fb
0:init::init(-1) : CS::EIP = 0008::0010449e
0:init::init(-1) : DS = 0018 : ES = 0018 : FS = 0023 : GS = 0018
0:init::init(-1) : EFLAGS = 00010012 (AF RF )
0:init::init(-1) : CPU ID = 0 : kernel stack = 006ba014
0:init::init(-1) : 0 -> 0010449e
0:init::init(-1) : *unknown* + 0010449e -> *unknown* + 0010449e
0:init::init(-1) : 1 -> 00000000
0:init::init(-1) : *unknown* + 00000000 -> *unknown* + 00000000
0:init::init(-1) : verify_area() got kernel address 00000000
0:init::init(-1) :
0:init::init(-1) : Areas :
0:init::init(-1) : **general protection fault**
0:init::init(-1) : ERROR CODE = 00000038
0:init::init(-1) : EAX = 00000040 : EBX = 00000000 : ECX = 00000000 : EDX = 00000000
0:init::init(-1) : ESI = 00000000 : EDI = 00000000 : EBP = 006c2010
0:init::init(-1) : SS::ESP = 0038::0010f4fb
0:init::init(-1) : CS::EIP = 0008::0010449e
0:init::init(-1) : DS = 0018 : ES = 0018 : FS = 0023 : GS = 0018
0:init::init(-1) : EFLAGS = 00010012 (AF RF )
0:init::init(-1) : CPU ID = 0 : kernel stack = 006ba014
0:init::init(-1) : 0 -> 0010449e
0:init::init(-1) : *unknown* + 0010449e -> *unknown* + 0010449e
0:init::init(-1) : 1 -> 00000000
0:init::init(-1) : *unknown* + 00000000 -> *unknown* + 00000000
0:init::init(-1) : verify_area() got kernel address 00000000
0:init::init(-1) :
0:init::init(-1) : Areas :
0:init::init(-1) : **general protection fault**
0:init::init(-1) : ERROR CODE = 00000038
0:init::init(-1) : EAX = 00000040 : EBX = 00000000 : ECX = 00000000 : EDX = 00000000
0:init::init(-1) : ESI = 00000000 : EDI = 00000000 : EBP = 006c2010
0:init::init(-1) : SS::ESP = 0038::0010f4fb
0:init::init(-1) : CS::EIP = 0008::0010449e
0:init::init(-1) : DS = 0018 : ES = 0018 : FS = 0023 : GS = 0018
0:init::init(-1) : EFLAGS = 00010012 (AF RF )
0:init::init(-1) : CPU ID = 0 : kernel stack = 006ba014
0:init::init(-1) : 0 -> 0010449e
0:init::init(-1) : *unknown* + 0010449e -> *unknown* + 0010449e
0:init::init(-1) : 1 -> 00000000
0:init::init(-1) : *unknown* + 00000000 -> *unknown* + 00000000
0:init::init(-1) : verify_area() got kernel address 00000000
0:init::init(-1) :
0:init::init(-1) : Areas :
0:init::init(-1) : **general protection fault**
0:init::init(-1) : ERROR CODE = 00000038
0:init::init(-1) : EAX = 00000040 : EBX = 00000000 : ECX = 00000000 : EDX = 00000000
0:init::init(-1) : ESI = 00000000 : EDI = 00000000 : EBP = 006c2010
0:init::init(-1) : SS::ESP = 0038::0010f4fb
0:init::init(-1) : CS::EIP = 0008::0010449e
0:init::init(-1) : DS = 0018 : ES = 0018 : FS = 0023 : GS = 0018
0:init::init(-1) : EFLAGS = 00010012 (AF RF )
0:init::init(-1) : CPU ID = 0 : kernel stack = 006ba014
0:init::init(-1) : 0 -> 0010449e
0:init::init(-1) : *unknown* + 0010449e -> *unknown* + 0010449e
0:init::init(-1) : 1 -> 00000000
0:init::init(-1) : *unknown* + 00000000 -> *unknown* + 00000000
0:init::init(-1) : verify_area() got kernel address 00000000
0:init::init(-1) :
0:init::init(-1) : Areas :
0:init::init(-1) : **general protection fault**
0:init::init(-1) : ERROR CODE = 00000038
0:init::init(-1) : EAX = 00000040 : EBX = 00000000 : ECX = 00000000 : EDX = 00000000
0:init::init(-1) : ESI = 00000000 : EDI = 00000000 : EBP = 006c2010
0:init::init(-1) : SS::ESP = 0038::0010f4fb
0:init::init(-1) : CS::EIP = 0008::0010449e
0:init::init(-1) : DS = 0018 : ES = 0018 : FS = 0023 : GS = 0018
0:init::init(-1) : EFLAGS = 00010012 (AF RF )
0:init::init(-1) : CPU ID = 0 : kernel stack = 006ba014
0:init::init(-1) : 0 -> 0010449e
0:init::init(-1) : *unknown* + 0010449e -> *unknown* + 0010449e
0:init::init(-1) : 1 -> 00000000
0:init::init(-1) : *unknown* + 00000000 -> *unknown* + 00000000
0:init::init(-1) : verify_area() got kernel address 00000000
0:init::init(-1) :
0:init::init(-1) : Areas :
0:init::init(-1) : **general protection fault**
0:init::init(-1) : ERROR CODE = 00000038
0:init::init(-1) : EAX = 00000040 : EBX = 00000000 : ECX = 00000000 : EDX = 00000000
0:init::init(-1) : ESI = 00000000 : EDI = 00000000 : EBP = 006c2010
0:init::init(-1) : SS::ESP = 0038::0010f4fb
0:init::init(-1) : CS::EIP = 0008::0010449e
0:init::init(-1) : DS = 0018 : ES = 0018 : FS = 0023 : GS = 0018
0:init::init(-1) : EFLAGS = 00010012 (AF RF )
0:init::init(-1) : CPU ID = 0 : kernel stack = 006ba014


[/code]

VirtualBox SMP output for reference
Back to top
View user's profile Send private message
NecroRomancist



Joined: 18 Sep 2007
Posts: 272

PostPosted: Sun Jun 05, 2011 8:39 am    Post subject: Reply with quote

[code]
else
{
/* At this point the AP processors havn't been started, so we must be running on the
boot CPU. By default it is assumed the boot CPU is #0, but it may not be. */

int nCPU = get_processor_id();
if( g_nBootCPU != nCPU )
{
g_nBootCPU = nCPU; /* g_asProcessorDescs is the same for every processor at this point: see init_cpuid() */
g_anLogicToRealID[0] = nCPU;
}
}
[/code]

In this case the boot cpu is #1..
Back to top
View user's profile Send private message
Kaj
The Knights of Syllable


Joined: 14 Sep 2007
Posts: 2202
Location: Friesland

PostPosted: Sun Jun 05, 2011 10:18 am    Post subject: Reply with quote

Were the kernel boot parameters for VirtualBox used, in particular disabling SMP?
Back to top
View user's profile Send private message Visit poster's website
NecroRomancist



Joined: 18 Sep 2007
Posts: 272

PostPosted: Sun Jun 05, 2011 2:13 pm    Post subject: Reply with quote

I wanted to find out why it happens. My take is that its a bug on that code snippet i posted
Back to top
View user's profile Send private message
Kaj
The Knights of Syllable


Joined: 14 Sep 2007
Posts: 2202
Location: Friesland

PostPosted: Sun Jun 05, 2011 2:54 pm    Post subject: Reply with quote

As far as I remember, it's a missing implementation of more advanced CPU detection, that should come from the APIC and ACPI support. This does indeed apply to SMP in general.
Back to top
View user's profile Send private message Visit poster's website
NecroRomancist



Joined: 18 Sep 2007
Posts: 272

PostPosted: Sun Jun 05, 2011 2:58 pm    Post subject: Reply with quote

[quote="Kaj"]As far as I remember, it's a missing implementation of more advanced CPU detection, that should come from the APIC and ACPI support. This does indeed apply to SMP in general.[/quote]

It seems to be "easier" than that. Judging by that coment and code.
VirtualBox tries to boot cpu#1 and it defaults to 0.
Back to top
View user's profile Send private message
Kaj
The Knights of Syllable


Joined: 14 Sep 2007
Posts: 2202
Location: Friesland

PostPosted: Sun Jun 05, 2011 3:27 pm    Post subject: Reply with quote

Yes, but how do you know it's #1? Maybe you could hardwire a fix for (versions of) VirtualBox, but that wouldn't solve the case for real hardware.
Back to top
View user's profile Send private message Visit poster's website
NecroRomancist



Joined: 18 Sep 2007
Posts: 272

PostPosted: Sun Jun 05, 2011 4:11 pm    Post subject: Reply with quote

[quote="Kaj"]Yes, but how do you know it's #1? Maybe you could hardwire a fix for (versions of) VirtualBox, but that wouldn't solve the case for real hardware.[/quote]

0 : Start init thread
0:init::init(-1) : Booting processor #1
0:init::init(-1) : **general protection fault**

From the kernel trace above Smile
Back to top
View user's profile Send private message
Kaj
The Knights of Syllable


Joined: 14 Sep 2007
Posts: 2202
Location: Friesland

PostPosted: Sun Jun 05, 2011 4:26 pm    Post subject: Reply with quote

Of course, but how does Syllable know which number the boot CPU has on any given system?
Back to top
View user's profile Send private message Visit poster's website
Morph
The Knights of Syllable


Joined: 18 Oct 2007
Posts: 316
Location: Australia

PostPosted: Sun Jun 05, 2011 5:31 pm    Post subject: Reply with quote

Some related discussion: http://forum.syllable.org/viewtopic.php?t=883
Back to top
View user's profile Send private message Visit poster's website
NecroRomancist



Joined: 18 Sep 2007
Posts: 272

PostPosted: Mon Jun 06, 2011 4:02 am    Post subject: Reply with quote

0:init::init(-1) : Booting processor #1


This seems the output of the printk at smp.c line 430

http://syllable.cvs.sourceforge.net/viewvc/syllable/syllable/system/sys/kernel/kernel/smp.c?revision=1.25&view=markup

While

Boot from CPU #0.

Seems to be the printk from line 772

http://syllable.cvs.sourceforge.net/viewvc/syllable/syllable/system/sys/kernel/kernel/apic.c?revision=1.5&view=markup

I got the impression that they should be the same.
If not he bug must be on that cmos_write or the following code
Back to top
View user's profile Send private message
NecroRomancist



Joined: 18 Sep 2007
Posts: 272

PostPosted: Mon Jun 06, 2011 4:44 am    Post subject: Reply with quote

http://tldp.org/HOWTO/Linux-i386-Boot-Code-HOWTO/smpboot.html

*((volatile unsigned short *) TRAMPOLINE_HIGH) = start_eip >> 4;
Dprintk("2.\n");
*((volatile unsigned short *) TRAMPOLINE_LOW) = start_eip & 0xf;
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Syllable Forum Index -> Bugs All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group