Subject: howto build sommerfeld_i386mp_1 branch?
To: None <tech-smp@netbsd.org>
From: Christian Groessler <cpg@aladdin.de>
List: tech-smp
Date: 08/03/2002 03:51:38
Hi,

afaik this is the branch which supports smp (on i386 at least).

How do I build it?

I did:

in /usr/src/sys

cvs up -dPA -D20020625

since sys/arch/i386/MP-UPDATING (from the sommerfeld branch) says this
was the last syncronized date

and then in /usr/src/sys/arch/i386

cvs up -dPrsommerfeld_i386mp_1

to get the branch contents.

When I try to compile a kernel with additional

options         MULTIPROCESSOR
options         COM_MPLOCK

the final link fails:

ld -T ../../../../arch/i386/conf/kern.ldscript -Ttext c0100000 -e start -X -o netbsd ${SYSTEM_OBJ} vers.o
locore.o: In function `start':
locore.o(.text+0x97): undefined reference to `cpu_info_primary'
locore.o: In function `try586':
locore.o(.text+0x16a): undefined reference to `cpu_info_primary'
locore.o: In function `Xsoftserial':
locore.o(.text+0x1f77): undefined reference to `apic_intlock'
locore.o(.text+0x1f86): undefined reference to `apic_intunlock'
locore.o: In function `Xsoftnet':
locore.o(.text+0x1f9f): undefined reference to `apic_intlock'
locore.o(.text+0x1fea): undefined reference to `apic_intunlock'
locore.o: In function `Xsoftclock':
locore.o(.text+0x2003): undefined reference to `apic_intlock'
locore.o(.text+0x2012): undefined reference to `apic_intunlock'
init_main.o: In function `main':
init_main.o(.text+0x705): undefined reference to `cpu_boot_secondary_processors'
kern_sysctl.o: In function `sysctl_docptime':
kern_sysctl.o(.text+0x295): undefined reference to `cpu_info_list'
kern_sysctl.o: In function `sysctl_ncpus':
kern_sysctl.o(.text+0x2ef): undefined reference to `cpu_info_list'
autoconf.o: In function `cpu_configure':
autoconf.o(.text+0x7b): undefined reference to `cpu_init_idle_pcbs'
db_interface.o: In function `db_machine_init':
db_interface.o(.text+0x2a): undefined reference to `Xintrddbipi'
db_interface.o: In function `db_suspend_others':
db_interface.o(.text+0xae): undefined reference to `i386_ipi'
db_interface.o: In function `db_resume_others':
db_interface.o(.text+0xeb): undefined reference to `cpu_info'
db_interface.o: In function `db_mach_cpu':
db_interface.o(.text+0x3ed): undefined reference to `cpu_debug_dump'
db_interface.o(.text+0x413): undefined reference to `cpu_info'
gdt.o: In function `setgdt':
gdt.o(.text+0x30): undefined reference to `cpu_info_list'
gdt.o: In function `gdt_grow':
... some more similar errors

Also, how should I build the new ptreads lib which supports the kernel
lwps?

regards,
chris