Re: SMP problems with Thinkpad X60s

Julian Stecklina <[email protected]>
Newsgroups gmane.comp.micro-kernel.l4.l4ka.general
Message-ID <[email protected]>
Jan Stoess <[email protected]> writes:

> Hello Julian,
>
> What seems strange to me is that there is no sign of the second processor
> during bootup. CPU1 should come up right after CPU0 has sent the startup IPI
> and then print the same initialization output on the console as CPU0 does
> again (e.g., local APIC id=1, version=20 etc.). Your configuration seems to
> be ok, though. Could you tell me, which compiler you are using? If you look
> at http://l4ka.org/projects/pistachio/buildstatus/hg.php, you can see that,
> for example, 4.3.1 won't work. Did you test an uniprocessor version
> (possibly with and without APIC) support beforehand? Did that work? 

Uniprocessor versions work for configurations with APIC and without
APIC, but I could swear the version with APIC wasn't working at some
point... I'll have to check that again, maybe I mixed up the kernel
versions.

I tried again, this time using a serial connection (finally...). I
attached the logs of the kernel startup for GCC 4.1.2 and 3.4.6. 

4.1.2 is the compiler I used before and it gets stuck.

3.4.6 manages to start my roottask, but it prints only gibberish on the
console before it dies. Just for reference I also attached the output of
the same kernel running on a KVM-emulated 2-CPU box (which works fine).

Regards,
-- 
Julian Stecklina

Well, take it from an old hand: the only reason it would be easier to
program in C is that you can't easily express complex problems in C,
so you don't. - Erik Naggum (in comp.lang.lisp)

(Spam-Experiment: http://cthulhu.c3d2.de/~astro/badpit.html )
pistachio-smp-3.4.6.log (application/octet-stream, 6.6 KB)
KickStart 0.10
Detected multiboot compliant loader
 kernel    (0x00814000-0x008656aa)   => 0x00167520
  (0x00814000-0x00835f89) -> 0x00100000-0x00121f89
  (0x00836000-0x00847314) -> 0x00123000-0x00134314
  (0x00848000-0x00856fe0) -> 0x00135000-0x00143fe0
  (0x00857000-0x0085b4c4) -> 0x00164000-0x001684c4
 sigma0    (0x00866000-0x0087c6b8)   => 0x00020000
  (0x00867000-0x0086f410) -> 0x00020000-0x00028410
 roottask  (0x0087d000-0x00a03ab5)   => 0x0200bed0
  (0x0087e000-0x008c14b4) -> 0x02000000-0x020434b4
  (0x008c2000-0x008e204c) -> 0x02044000-0x0206404c
Launching kernel ...

L4Ka::Pistachio - built on Jul 10 2008 17:25:38 by julian@tabernacle using gcc version 3.4.6 (Gentoo 3.4.6-r2)
Checking CPU features
virtual memory layout:
	user area            0 - c0000000
	copy area     c4000000 - c4800000
	ktcb area     e0000000 - f0000000
	kernel area   df000000 - ff000000
	cpulocal data f0136000 - f013892c
	apic area     df002000 - df005000
	utcb pgarea   df000000
	space link    c5000000
Initializing kernel memory (f0144000-f0164000) [128K]
Initializing kernel space
	Clearing global bit for cpulocal data v=f0136000 p=136103 (CPU 0) size 0
	Clearing global bit for cpulocal data v=f0137000 p=137103 (CPU 0) size 0
	Clearing global bit for cpulocal data v=f0138000 p=138103 (CPU 0) size 0
	Switching to CPU local pagetable 00145000 (CPU 0)
CPU local pagetable activated 145000 (CPU 0)
Activating TSS (Preliminary)
Initializing GDT (Preliminary)
Activating IDT (Preliminary)
Initializing kernel interface page (f0135000)
Adding more kernel memory
	found  16M kmem (e000000-effffff) -> (fe000000-feffffff)
Initializing memory info
Initializing mapping database
Initializing kernel debugger
Initializing IRQ hardware
  Parsing ACPI tables
	RSDP is at c48f67b0
	RSDT is at 7f6d1809
	XSDT is at 7f6d1861
	FADT is at 7f6d1900 (remap c4ad1900), pmtimer IO port 1008
	MADT is at 7f6dec0a (remap c4adec0a), local APICs @ fee00000
  Mapping local APICs at fee00000 to df002000
	local APIC: apic_id=0 use=ok proc_id=0
	local APIC: apic_id=1 use=ok proc_id=1
  Found 2 active CPUs, boot CPU is 0
  Initializing IOAPICs
	IOAPIC: id=1 irq_base=0 addr=fec00000
	        realid=2 maxint=24, version=32
  IRQ source override: srcbus=0, srcirq=0, dest=2, conform pol., trigger=conform 
  IRQ source override: srcbus=0, srcirq=9, dest=9, active high, trigger=level 
MADT: found unknown type=4, len=6
MADT: found unknown type=4, len=6
  24 IRQ input lines, max IRQ ID is 23
	IRQ  0: APIC 1, line  0, edge, high active
	IRQ  1: APIC 1, line  1, edge, high active
	IRQ  2: APIC 1, line  2, edge, low active
	IRQ  3: APIC 1, line  3, edge, high active
	IRQ  4: APIC 1, line  4, edge, high active
	IRQ  5: APIC 1, line  5, edge, high active
	IRQ  6: APIC 1, line  6, edge, high active
	IRQ  7: APIC 1, line  7, edge, high active
	IRQ  8: APIC 1, line  8, edge, high active
	IRQ  9: APIC 1, line  9, level, high active
	IRQ 10: APIC 1, line 10, edge, high active
	IRQ 11: APIC 1, line 11, edge, high active
	IRQ 12: APIC 1, line 12, edge, high active
	IRQ 13: APIC 1, line 13, edge, high active
	IRQ 14: APIC 1, line 14, edge, high active
	IRQ 15: APIC 1, line 15, edge, high active
	IRQ 16: APIC 1, line 16, level, low active
	IRQ 17: APIC 1, line 17, level, low active
	IRQ 18: APIC 1, line 18, level, low active
	IRQ 19: APIC 1, line 19, level, low active
	IRQ 20: APIC 1, line 20, level, low active
	IRQ 21: APIC 1, line 21, level, low active
	IRQ 22: APIC 1, line 22, level, low active
	IRQ 23: APIC 1, line 23, level, low active
Initializing Timer
	global timer: trap gate 64
Starting 2 application processors (00167000->00004000)
Sending startup IPI to CPU#1 APIC 1
	local APIC id=0, version=20
	AP processor is alive
	local APIC error trap gate 67 
	AP switched to kernel ptab
	Activating TSS (CPU 0)se
	Initializing GDT (CPU 0)
	local APIC id=1, version=20
	Activating IDT (CPU 0)
	Enabling global pages (CPU 0)
	Activating MSRS (CPU 0)
	local APIC error trap gate 67 
	Initializing Timer (CPU 0)
	Calculating processor speed (CPU 0)...	Activating TSS (CPU 1)se
	Initializing GDT (CPU 1)
	Activating IDT (CPU 1)
	Enabling global pages (CPU 1)
	Activating MSRS (CPU 1)
	Initializing Timer (CPU 1)
	Calculating processor speed (CPU 1)...
	speed: 1662 MHz, bus speed: 166 MHz (CPU 0)
	Initializing Processor (CPU 0)
Registering processor 0 in KIP (166MHz, 1662MHz)

	speed: 1662 MHz, bus speed: 166 MHz (CPU 1)
	Initializing Processor (CPU 1)
Registering processor 1 in KIP (166MHz, 1662MHz)
	Initialize cpu local mappings (CPU 1)
	Remapping CPU local memory f0136000 - f013892c (CPU 1)
	allocated PTAB cpu-local data at f0136000 -> phys 154000
	allocated PTAB cpu-local data at f0137000 -> phys 155000
	allocated PTAB cpu-local data at f0138000 -> phys 156000
	Switching to CPU local pagetable 00152000 (CPU 1)
	CPU local pagetable activated 152000 (CPU 1)
Initializing threading CPU 1
Switching to idle thread (CPU 1)
Initializing threading CPU 0
Idle thread started on CPU 1
Switching to idle thread (CPU 0)
System has 24 interrupts
Initializing root servers
root-servers: utcb_area: bf000110 (128KB), kip_area: bff000c0 (4KB)
Creating sigma0 (SIGMA0)
Creating root server (ROOTTASK)
--- "KD# System started (press 'g' to continue)" ---
--------------------------------- (eip=00164f81, esp=f0115e30) ---
> go
Idle thread started on CPU 0
Pistachio:A:sPselrattfioonrm k:d:Pb_lactufrroermnt()_:cp u[ 3==3 m>CO NsFetIGu_p_SMbPa_sMicAsX_C[P0Um
S fvaoiilde dP iistna cfhilioe ::/Phlomate/fjourlmi:a:_n/ssetrucp/_bebalesigc/ls(4k):a- pi[s3t3maLcheit'os/k echreneckl /kifd b/weg luaree/v 4c-oxm8pl6/etpre.ep..ost[.0cm
c, line 410 (fn=f012002a)
void PAsisstearcthiiono: :kPdlb_actfurorremn:t:__sceptu u=p=_ bCasOiNcFsI(G)_S: MP[_3MA3Xm_DOCNPUE.S f[0ami
lemd emi n 0f: i[le0 x/0h0o00me0/0j00u,l i0anx0/0s0rc0/00b0e0l)e gt/lyp4eka=-0pxi4 s(taSchahireo/d)k erNonenl-V/ikdrbt/uagllu
em/ve4m -1x8:6 [/p0xre0p0o0s0t00.c0c0,,  l0xin0e00 49f100 00()fn t=fy0pe1=200x012 a()
Co--- KD# unknown reason 2 ip f0115e6b ---
> showtcb
tcb/tid/name [current]: current
=== TCB: f0136800 === ID: 1d1e1d1e = ffffffc0/f0136600 === PRIO: 0x 0 === CPU: 1 ===
UIP: 87654321   queues: rswl      wait : NIL_THRD:NIL_THRD   space: f0144000
USP: 12345678   tstate: ABORTED   ready: NIL_THRD:NIL_THRD   pdir : 00152000
KSP: f0136f40   sndhd : NIL_THRD  send : NIL_THRD:NIL_THRD   pager: NIL_THRD
total quant:           0us, ts length  :          10000us, curr ts:    10000us
abs timeout:           0us, rel timeout:              0us
sens prio: 100, delay: max=0us, curr=0us
resources: 00000000 []   flags: 00000000 [t]
partner: NIL_THRD, saved partner: NIL_THRD, saved state: ABORTED , scheduler: NIL_THRD
> showqueue

[255]: (SIGMA0:0) ROOTTASK:0
[000]: (00060001:0)
idle : IDLETHRD
pistachio-smp-4.1.2.log (application/octet-stream, 4 KB)
KickStart 0.10
Detected multiboot compliant loader
 kernel    (0x00814000-0x00864760)   => 0x00166520
  (0x00814000-0x00834a3e) -> 0x00100000-0x00120a3e
  (0x00835000-0x00845f14) -> 0x00122000-0x00132f14
  (0x00846000-0x00855070) -> 0x00133000-0x00142070
  (0x00856000-0x0085a484) -> 0x00163000-0x00167484
 sigma0    (0x00865000-0x0087b6b8)   => 0x00020000
  (0x00866000-0x0086e410) -> 0x00020000-0x00028410
 roottask  (0x0087c000-0x00a02ab5)   => 0x0200bed0
  (0x0087d000-0x008c04b4) -> 0x02000000-0x020434b4
  (0x008c1000-0x008e104c) -> 0x02044000-0x0206404c
Launching kernel ...

L4Ka::Pistachio - built on Jul 10 2008 17:12:26 by julian@tabernacle using gcc version 4.1.2 (Gentoo 4.1.2 p1.1)
Checking CPU features
virtual memory layout:
	user area            0 - c0000000
	copy area     c4000000 - c4800000
	ktcb area     e0000000 - f0000000
	kernel area   df000000 - ff000000
	cpulocal data f0134000 - f013612c
	apic area     df002000 - df005000
	utcb pgarea   df000000
	space link    c5000000
Initializing kernel memory (f0143000-f0163000) [128K]
Initializing kernel space
	Clearing global bit for cpulocal data v=f0134000 p=134103 (CPU 0) size 0
	Clearing global bit for cpulocal data v=f0135000 p=135103 (CPU 0) size 0
	Clearing global bit for cpulocal data v=f0136000 p=136103 (CPU 0) size 0
	Switching to CPU local pagetable 00144000 (CPU 0)
CPU local pagetable activated 144000 (CPU 0)
Activating TSS (Preliminary)
Initializing GDT (Preliminary)
Activating IDT (Preliminary)
Initializing kernel interface page (f0133000)
Adding more kernel memory
	found  16M kmem (e000000-effffff) -> (fe000000-feffffff)
Initializing memory info
Initializing mapping database
Initializing kernel debugger
Initializing IRQ hardware
  Parsing ACPI tables
	RSDP is at c48f67b0
	RSDT is at 7f6d1809
	XSDT is at 7f6d1861
	FADT is at 7f6d1900 (remap c4ad1900), pmtimer IO port 1008
	MADT is at 7f6dec0a (remap c4adec0a), local APICs @ fee00000
  Mapping local APICs at fee00000 to df002000
	local APIC: apic_id=0 use=ok proc_id=0
	local APIC: apic_id=1 use=ok proc_id=1
  Found 2 active CPUs, boot CPU is 0
  Initializing IOAPICs
	IOAPIC: id=1 irq_base=0 addr=fec00000
	        realid=2 maxint=24, version=32
  IRQ source override: srcbus=0, srcirq=0, dest=2, conform pol., trigger=conform 
  IRQ source override: srcbus=0, srcirq=9, dest=9, active high, trigger=level 
MADT: found unknown type=4, len=6
MADT: found unknown type=4, len=6
  24 IRQ input lines, max IRQ ID is 23
	IRQ  0: APIC 1, line  0, edge, high active
	IRQ  1: APIC 1, line  1, edge, high active
	IRQ  2: APIC 1, line  2, edge, low active
	IRQ  3: APIC 1, line  3, edge, high active
	IRQ  4: APIC 1, line  4, edge, high active
	IRQ  5: APIC 1, line  5, edge, high active
	IRQ  6: APIC 1, line  6, edge, high active
	IRQ  7: APIC 1, line  7, edge, high active
	IRQ  8: APIC 1, line  8, edge, high active
	IRQ  9: APIC 1, line  9, level, high active
	IRQ 10: APIC 1, line 10, edge, high active
	IRQ 11: APIC 1, line 11, edge, high active
	IRQ 12: APIC 1, line 12, edge, high active
	IRQ 13: APIC 1, line 13, edge, high active
	IRQ 14: APIC 1, line 14, edge, high active
	IRQ 15: APIC 1, line 15, edge, high active
	IRQ 16: APIC 1, line 16, level, low active
	IRQ 17: APIC 1, line 17, level, low active
	IRQ 18: APIC 1, line 18, level, low active
	IRQ 19: APIC 1, line 19, level, low active
	IRQ 20: APIC 1, line 20, level, low active
	IRQ 21: APIC 1, line 21, level, low active
	IRQ 22: APIC 1, line 22, level, low active
	IRQ 23: APIC 1, line 23, level, low active
Initializing Timer
	global timer: trap gate 64
Starting 2 application processors (00166000->00004000)
Sending startup IPI to CPU#1 APIC 1
	local APIC id=0, version=20
	local APIC error trap gate 67 
	Activating TSS (CPU 0)se
	Initializing GDT (CPU 0)
	Activating IDT (CPU 0)
	Enabling global pages (CPU 0)
	Activating MSRS (CPU 0)
	Initializing Timer (CPU 0)
	Calculating processor speed (CPU 0)...
	speed: 1662 MHz, bus speed: 166 MHz (CPU 0)
	Initializing Processor (CPU 0)
Registering processor 0 in KIP (166MHz, 1662MHz)
pistachio-smp-3.4.6-kvm.log (application/octet-stream, 8.8 KB)
L4Ka::Pistachio - built on Jul 10 2008 17:25:38 by julian@tabernacle using gcc version 3.4.6 (Gentoo 3.4.6-r2)
Checking CPU features
virtual memory layout:
	user area            0 - c0000000
	copy area     c4000000 - c4800000
	ktcb area     e0000000 - f0000000
	kernel area   df000000 - ff000000
	cpulocal data f0136000 - f013892c
	apic area     df002000 - df005000
	utcb pgarea   df000000
	space link    c5000000
Initializing kernel memory (f0144000-f0164000) [128K]
Initializing kernel space
	Clearing global bit for cpulocal data v=f0136000 p=136103 (CPU 0) size 0
	Clearing global bit for cpulocal data v=f0137000 p=137103 (CPU 0) size 0
	Clearing global bit for cpulocal data v=f0138000 p=138103 (CPU 0) size 0
	Switching to CPU local pagetable 00145000 (CPU 0)
CPU local pagetable activated 145000 (CPU 0)
Activating TSS (Preliminary)
Initializing GDT (Preliminary)
Activating IDT (Preliminary)
Initializing kernel interface page (f0135000)
Adding more kernel memory
	found  16M kmem (6ff0000-7feffff) -> (f6ff0000-f7feffff)
Initializing memory info
Initializing mapping database
Initializing kernel debugger
Initializing IRQ hardware
  Parsing ACPI tables
	RSDP is at c48fb680
	RSDT is at 07ff0000
	XSDT is at 00000000
	FACP is at 07ff002c
	APIC is at 07ff2568
	FADT is at 07ff002c (remap c4bf002c), pmtimer IO port b008
	MADT is at 07ff2568 (remap c4bf2568), local APICs @ fee00000
  Mapping local APICs at fee00000 to df002000
	local APIC: apic_id=0 use=ok proc_id=0
	local APIC: apic_id=1 use=ok proc_id=1
	local APIC: apic_id=2 use=disabled proc_id=2
	local APIC: apic_id=3 use=disabled proc_id=3
	local APIC: apic_id=4 use=disabled proc_id=4
	local APIC: apic_id=5 use=disabled proc_id=5
	local APIC: apic_id=6 use=disabled proc_id=6
	local APIC: apic_id=7 use=disabled proc_id=7
	local APIC: apic_id=8 use=disabled proc_id=8
	local APIC: apic_id=9 use=disabled proc_id=9
	local APIC: apic_id=10 use=disabled proc_id=10
	local APIC: apic_id=11 use=disabled proc_id=11
	local APIC: apic_id=12 use=disabled proc_id=12
	local APIC: apic_id=13 use=disabled proc_id=13
	local APIC: apic_id=14 use=disabled proc_id=14
	local APIC: apic_id=15 use=disabled proc_id=15
  Found 2 active CPUs, boot CPU is 0
  Initializing IOAPICs
	IOAPIC: id=2 irq_base=0 addr=fec00000
	        realid=0 maxint=24, version=17
  IRQ source override: srcbus=0, srcirq=5, dest=5, active high, trigger=level 
  IRQ source override: srcbus=0, srcirq=9, dest=9, active high, trigger=level 
  IRQ source override: srcbus=0, srcirq=10, dest=10, active high, trigger=level 
  IRQ source override: srcbus=0, srcirq=11, dest=11, active high, trigger=level 
  24 IRQ input lines, max IRQ ID is 23
	IRQ  0: APIC 2, line  0, edge, high active
	IRQ  1: APIC 2, line  1, edge, high active
	IRQ  2: APIC 2, line  2, edge, high active
	IRQ  3: APIC 2, line  3, edge, high active
	IRQ  4: APIC 2, line  4, edge, high active
	IRQ  5: APIC 2, line  5, level, high active
	IRQ  6: APIC 2, line  6, edge, high active
	IRQ  7: APIC 2, line  7, edge, high active
	IRQ  8: APIC 2, line  8, edge, high active
	IRQ  9: APIC 2, line  9, level, high active
	IRQ 10: APIC 2, line 10, level, high active
	IRQ 11: APIC 2, line 11, level, high active
	IRQ 12: APIC 2, line 12, edge, high active
	IRQ 13: APIC 2, line 13, edge, high active
	IRQ 14: APIC 2, line 14, edge, high active
	IRQ 15: APIC 2, line 15, edge, high active
	IRQ 16: APIC 2, line 16, level, low active
	IRQ 17: APIC 2, line 17, level, low active
	IRQ 18: APIC 2, line 18, level, low active
	IRQ 19: APIC 2, line 19, level, low active
	IRQ 20: APIC 2, line 20, level, low active
	IRQ 21: APIC 2, line 21, level, low active
	IRQ 22: APIC 2, line 22, level, low active
	IRQ 23: APIC 2, line 23, level, low active
Initializing Timer
	global timer: trap gate 64
Starting 2 application processors (00167000->00004000)
Sending startup IPI to CPU#1 APIC 1
	AP processor is alive
	AP switched to kernel ptab
	local APIC id=1, version=20
	local APIC error trap gate 67 
	Activating TSS (CPU 1)se
	Initializing GDT (CPU 1)
	Activating IDT (CPU 1)
	Enabling global pages (CPU 1)
	Activating MSRS (CPU 1)
	local APIC id=0, version=20
	Initializing Timer (CPU 1)
	local APIC error trap gate 67 
	Activating TSS (CPU 0)se
	Initializing GDT (CPU 0)
	Calculating processor speed (CPU 1)...	Activating IDT (CPU 0)
	Enabling global pages (CPU 0)
	Activating MSRS (CPU 0)
	Initializing Timer (CPU 0)
	Calculating processor speed (CPU 0)...
	speed: 1663 MHz, bus speed: 1000 MHz (CPU 1)
	Initializing Processor (CPU 1)
Registering processor 1 in KIP (1000MHz, 1663MHz)
	Initialize cpu local mappings (CPU 1)
	Remapping CPU local memory f0136000 - f013892c (CPU 1)
	allocated PTAB cpu-local data at f0136000 -> phys 155000

	speed: 1662 MHz, bus speed: 1000 MHz (CPU 0)
	allocated PTAB cpu-local data at f0137000 -> phys 156000
	Initializing Processor (CPU 0)
	allocated PTAB cpu-local data at f0138000 -> phys 157000
Registering processor 0 in KIP (1000MHz, 1662MHz)
	Switching to CPU local pagetable 00153000 (CPU 1)
	CPU local pagetable activated 153000 (CPU 1)
Initializing threading CPU 1
Switching to idle thread (CPU 1)
Initializing threading CPU 0
Switching to idle thread (CPU 0)
System has 24 interrupts
Idle thread started on CPU 1
Initializing root servers
root-servers: utcb_area: bf000110 (128KB), kip_area: bff000c0 (4KB)
Creating sigma0 (SIGMA0)
Creating root server (ROOTTASK)
--- "KD# System started (press 'g' to continue)" ---
--------------------------------- (eip=00164f81, esp=f0115e30) ---
> go
Idle thread started on CPU 0
Pistachio::Platform::Platform(): > setup_basics
void Pistachio::Platform::_setup_basics(): Let's check if we are complete...
void Pistachio::Platform::_setup_basics(): DONE.
mem 0: [0x00000000, 0x00000000) type=0x4 (Shared) Non-Virtual
mem 1: [0x00000000, 0x0009fc00) type=0x1 (Conventional) Non-Virtual
mem 2: [0x0009fc00, 0x000a0000) type=0x2f (Architecture-dependent) Non-Virtual
mem 3: [0x000e8000, 0x00100000) type=0x2f (Architecture-dependent) Non-Virtual
mem 4: [0x00100000, 0x07ff0000) type=0x1 (Conventional) Non-Virtual
mem 5: [0x07ff0000, 0x08000000) type=0x3f (Architecture-dependent) Non-Virtual
mem 6: [0xfffbd000, 0xfffc0000) type=0x2f (Architecture-dependent) Non-Virtual
mem 7: [0xfffc0000, 0x00000000) type=0x2f (Architecture-dependent) Non-Virtual
mem 8: [0x06ff0000, 0x07ff0000) type=0x2 (Reserved by kernel) Non-Virtual
mem 9: [0x000a0000, 0x000c0000) type=0x4 (Shared) Non-Virtual
mem 10: [0x000c0000, 0x000f0000) type=0x4 (Shared) Non-Virtual
mem 11: [0x00020000, 0x00028800) type=0x2e (Boot loader) Non-Virtual
mem 12: [0x02000000, 0x02064400) type=0x2e (Boot loader) Non-Virtual
mem 13: [0x00001000, 0x00002000) type=0x1e (Boot loader) Non-Virtual
mem 14: [0x00002000, 0x00003000) type=0x1e (Boot loader) Non-Virtual
mem 15: [0x00000000, 0xc0000000) type=0x1 (Conventional) Virtual
mem 16: [0x00100000, 0x00164000) type=0x2 (Reserved by kernel) Non-Virtual
mem 17: [0xdf002000, 0xdf003000) type=0x2 (Reserved by kernel) Non-Virtual
mem 18: [0xfec00000, 0xfec01000) type=0x2 (Reserved by kernel) Non-Virtual
void Pistachio::Platform::_setup_basics(): Requesting the BootInfo page from Sigma0.
void Pistachio::Platform::_setup_basics(): Multiboot size is 196 bytes.
static void Pistachio::Platform_task::touch_utcb_space(): Core can have 8 threads.
void Pistachio::Platform::_setup_basics(): KIP @ bff00000 (size 0x00000120)
void Pistachio::Platform::_setup_basics(): UTCB base @ bf000000 (size 00001000)
void Pistachio::Platform::_setup_basics(): _setup_basics done!
Pistachio::Platform::Platform(): > setup_preemption
Pistachio::Platform::Platform(): > setup_mem_alloc
Trying to allocate 4096K pages from sigma0.
Got 73728K in 4096K pieces.
Trying to allocate 4K pages from sigma0.
Got 7724K in 4K pieces.
Pistachio::Platform::Platform(): > setup_port_alloc
void Pistachio::Platform::_setup_io_port_alloc(): Do we need to do something to allocate I/O ports?!
Pistachio::Platform::Platform(): > setup_irq_alloc
Pistachio::Platform::Platform(): > setup_rom
void Pistachio::Platform_task::_setup_address_space(): Setting up Core's address space.
int Pistachio::Platform_task::bind_initial_thread(Pistachio::Platform_thread*): Creating the initial thread (object) 'core.main'.
void Pistachio::Platform_thread::bind(int, Pistachio::Platform_task*): Already has an id... hmm.
Pistachio::Platform::Platform(): Trying to start core pager.
void Pistachio::Platform::_setup_core_pager(): Core pager has L4_ThreadId 000e4001.
Pistachio::Platform::Platform(): Done starting core pager. We are:
THREAD (global) 3a (version 1)
void _core_pager_loop(): Waiting fint main(): --- create local services ---
int main(): --- start init ---
Bastei::Rom_session_component::Rom_session_component(Bastei::Rom_fs*, Bastei::Server_entrypoint*, const char*): ROM "init" not found!
int main(): ROM for "init" not found!
virtual void Bastei::Core_parent::exit(int): Core should never exit
int _main(): main() returned -1
or page fault.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.