Re: mpboot.s patch
Well this patch make my dual PII boot again. Any plans to commit it? John -- John Hay -- [EMAIL PROTECTED] With a current kernel I get this when booting: Programming 24 pins in IOAPIC #0 AP #1 (PHY# 12) failed! panic y/n [y] panic: bye-bye mp_lock = 0001; cpuid = 0; lapic.id = Uptime: 0s [...] Try the enclosed patch. - Tor Egge Index: sys/i386/i386/mpboot.s === RCS file: /home/ncvs/src/sys/i386/i386/mpboot.s,v retrieving revision 1.13 diff -u -r1.13 mpboot.s --- sys/i386/i386/mpboot.s2000/01/29 13:51:17 1.13 +++ sys/i386/i386/mpboot.s2000/05/24 01:28:53 @@ -165,20 +165,15 @@ To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: mpboot.s patch
On Wed, May 24, 2000 at 04:33:41AM +0200, [EMAIL PROTECTED] wrote: Try the enclosed patch. Thank you Tor! Your patch fixed the silent reboot problem I had after new binutils import. -- Vallo Kallaste [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: mpboot.s patch
Manfred Antar wrote: At 04:33 AM 5/24/2000 +0200, [EMAIL PROTECTED] wrote: With a current kernel I get this when booting: Programming 24 pins in IOAPIC #0 AP #1 (PHY# 12) failed! panic y/n [y] panic: bye-bye mp_lock = 0001; cpuid = 0; lapic.id = Uptime: 0s [...] I think this has something to do with the new binutils as a kernel built on the 14th and restored via tape works fine but if i check out the sys tree from the 14th and build a kernel it panics at the A PIC probe. Try the enclosed patch. - Tor Egge Tor Works great The patch didn't apply I think there is a "data32" in the patch that isn't in the mpboot.s file but when I applied the patch manually an added the data32 the kernel built fine and boots both cpu's without a problem. although mptable still causes a panic : panic: pmap_enter: attempted pmap_enter on 4MB page mp_lock = 0002; cpuid = 0; lapic.id = boot() called on cpu#0 Thanks Manfred I believe I have fixed the 4MB pmap_enter related bugs. Please re-cvsup and try again. You are looking for i386/i386/mem.c: revision 1.84 date: 2000/05/24 14:22:22; author: peter; state: Exp; lines: +2 -1 pmap_enter() masked off the page offset bits, pmap_kenter() did not. This (I believe) is the cause of the XFree86 startup and mptable(8) panics when programs were reading from /dev/mem at non-page-aligned offsets. The offsets were being converted into random page flags in the page tables. :-( (including PG_PS = 4MB page size) Cheers, -Peter To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
mpboot.s patch
With a current kernel I get this when booting: Programming 24 pins in IOAPIC #0 AP #1 (PHY# 12) failed! panic y/n [y] panic: bye-bye mp_lock = 0001; cpuid = 0; lapic.id = Uptime: 0s [...] I think this has something to do with the new binutils as a kernel built on the 14th and restored via tape works fine but if i check out the sys tree from the 14th and build a kernel it panics at the APIC probe. Try the enclosed patch. - Tor Egge Index: sys/i386/i386/mpboot.s === RCS file: /home/ncvs/src/sys/i386/i386/mpboot.s,v retrieving revision 1.13 diff -u -r1.13 mpboot.s --- sys/i386/i386/mpboot.s 2000/01/29 13:51:17 1.13 +++ sys/i386/i386/mpboot.s 2000/05/24 01:28:53 @@ -165,20 +165,15 @@ BOOTMP1: NON_GPROF_ENTRY(bootMP) + .code16 cli CHECKPOINT(0x34, 1) /* First guarantee a 'clean slate' */ - data32 xorl%eax, %eax - data32 movl%eax, %ebx - data32 movl%eax, %ecx - data32 movl%eax, %edx - data32 movl%eax, %esi - data32 movl%eax, %edi /* set up data segments */ @@ -188,17 +183,18 @@ mov %ax, %fs mov %ax, %gs mov %ax, %ss - mov $(boot_stk-_bootMP), %sp + mov $(boot_stk-_bootMP), %esp /* Now load the global descriptor table */ addr32 data32 - lgdtMP_GDTptr-_bootMP + /* XXX: sigh: lgdt MP_GDTptr-_bootMP GAS BUG! */ + .byte 0x0f, 0x01, 0x15/* XXX hand assemble! */ + .long MP_GDTptr-_bootMP /* XXX hand assemble! */ /* Enable protected mode */ data32 movl%cr0, %eax - data32 orl $CR0_PE, %eax data32 movl%eax, %cr0 @@ -207,13 +203,11 @@ * make intrasegment jump to flush the processor pipeline and * reload CS register */ - data32 pushl $0x18 - data32 pushl $(protmode-_bootMP) - data32 - lret + lretl + .code32 protmode: CHECKPOINT(0x35, 2)