On Tue, 15 Aug 2023, Jonathan Gray wrote:
> On Wed, Aug 16, 2023 at 08:14:17AM +0200, Paul de Weerd wrote:
> > I still have a bunch of old ALIX machines (with ancient AMD Geode
> > CPUs).  They have recently been broken, resulting in:
> > 
> > Using drive 0, partition 3.
> > Loading......
> > probing: pc0 com0 com1 pci mem[640K 255M a20=on] 
> > disk: hd0+
> > >> OpenBSD/i386 BOOT 3.65
> > switching console to com0
> > >> OpenBSD/i386 BOOT 3.65
> > boot> 
> > NOTE: random seed is being reused.
> > booting hd0a:/bsd: 10631699+2581508+208904+0+1142784 
> > [741328+107+609984+660770]=0xfd165c
> > entry point at 0x201000
> > 
> > [ using 2012764 bytes of bsd ELF symbol table ]
> > Copyright (c) 1982, 1986, 1989, 1991, 1993
> >         The Regents of the University of California.  All rights reserved.
> > Copyright (c) 1995-2023 OpenBSD. All rights reserved.  
> > https://urldefense.com/v3/__https://www.OpenBSD.org__;!!ORg
> EfCBsr282Fw!sPHnpxSXkWt4yzRrr-P-B4uMXGltceezG9mMRHKe7ot0kp4wvCRc8R-9sUExn_65XdlAxQn7Qtmy9i7B$
> > 
> > OpenBSD 7.3-current (GENERIC) #820: Wed Aug  9 09:06:43 MDT 2023
> >     dera...@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC
> > real mem  = 267931648 (255MB)
> > avail mem = 245829632 (234MB)
> > random: good seed from bootblocks
> > mpath0 at root
> > scsibus0 at mpath0: 256 targets
> > mainbus0 at root
> > bios0 at mainbus0: date 01/15/14, BIOS32 rev. 0 @ 0xfd0e4
> > pcibios0 at bios0: rev 2.1 @ 0xf0000/0x10000
> > pcibios0: pcibios_get_intr_routing - function not supported
> > pcibios0: PCI IRQ Routing information unavailable.
> > pcibios0: PCI bus #0 is the last bus
> > bios0: ROM list: 0xe0000/0xa800
> > cpu0 at mainbus0: (uniprocessor)
> > cpu0: Geode(TM) Integrated Processor by AMD PCS ("AuthenticAMD" 586-class) 
> > 499 MHz, 05-0a-02kernel: protection fau
> lt trap, code=0
> > Stopped at      identifycpu+0x75b:      rdmsr
> > ddb> trace
> > identifycpu(d0e9dff8) at identifycpu+0x75b
> > cpu_attach(d1ab5180,d1ab5200,d11d4ea4) at cpu_attach+0x127
> > config_attach(d1ab5180,d0eae388,d11d4ea4,d08f8240) at config_attach+0x19a
> > config_found_sm(d1ab5180,d11d4ea4,d08f8240,0) at config_found_sm+0x29
> > mainbus_attach(0,d1ab5180,0) at mainbus_attach+0x112
> > config_attach(0,d0eabd28,0,0) at config_attach+0x19a
> > config_rootfound(d0ca30ef,0) at config_rootfound+0xaf
> > cpu_configure(e5497e72,11d2000,11e1000,11d5000,0) at cpu_configure+0x24
> > main(0,0,0,0,0) at main+0x31b
> > ddb> 
> > 
> > The bsd.rd kernel also fails to work:
> > 
> > cpu0: Geode(TM) Integrated Processor by AMD PCS ("AuthenticAMD" 586-class) 
> > 499 MHz, 05-0a-02fatal protection fault
>  (4) in supervisor mode
> > trap type 4 code 0 eip d03af033 cs 8 eflags 10046 cr2 0 cpl 0
> > panic: trap type 4, code=0, pc=d03af033
> > 
> > Unfortunately, I can't tell what snapshot I was running before I
> > upgraded, but it was at least a few months old.  I'll PXE boot a 7.3
> > bsd.rd later to rummage around the filesystem.
> 
> I'm not sure when AMD added the MSR.
> family 0fh is Athlon 64, which has microcode updates.
> 
> Index: sys/arch/i386/i386/machdep.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/i386/i386/machdep.c,v
> retrieving revision 1.666
> diff -u -p -r1.666 machdep.c
> --- sys/arch/i386/i386/machdep.c      9 Aug 2023 00:01:44 -0000       1.666
> +++ sys/arch/i386/i386/machdep.c      16 Aug 2023 06:26:24 -0000
> @@ -1863,7 +1863,8 @@ identifycpu(struct cpu_info *ci)
>               uint64_t level = 0;
>               uint32_t dummy;
>  
> -             if (strcmp(cpu_vendor, "AuthenticAMD") == 0) {
> +             if (strcmp(cpu_vendor, "AuthenticAMD") == 0 &&
> +                 ci->ci_family >= 0x0f) {

All the ucode they publish is for that family and up?
ok guenther@

Reply via email to