[PATCH] Switch Alpha to new cpu_switch/throw conventions

David O'Brien obrien at FreeBSD.org
Sun Aug 10 00:36:03 PDT 2003


On Fri, Aug 08, 2003 at 05:14:59PM -0400, John Baldwin wrote:
> I have a completely untested (but should work :-P) patch to convert
> Alpha over to the new cpu_throw/switch conventions of passing the
> threads in as arguments to the function.  The patch is at
> http://www.FreeBSD.org/~jhb/patches/alpha_switch.patch  I would
> appreciate it if someone could test it.  Success would be making
> it to multiuser mode.  Failure would probably be panic'ing very early
> after starting init since failure means context switches are broken.

The patch works for me.  When I 1st booted with this patch (and a GENERIC
kernel), I had some modules preloaded for me in /boot/loader.conf for use
with my normal kernel.  Booting in that situation gave me:

I wish someone would fix random.ko...


Copyright (c) 1992-2003 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD 5.1-CURRENT #0: Sat Aug  9 18:51:57 PDT 2003
    rootk at phuong.nuxi.com:/files/CURRENT/usr/src/sys/alpha/compile/GENERIC
Preloaded elf kernel "/boot/kernel/kernel.ko" at 0xfffffc000096e000.
Preloaded elf module "/boot/kernel/if_tun.ko" at 0xfffffc000096e0d0.
Preloaded elf module "/boot/kernel/if_dc.ko" at 0xfffffc000096e1a0.
Preloaded elf module "/boot/kernel/random.ko" at 0xfffffc000096e270.
can't re-use a leaf (if_tun_debug)!
module_register: module random already exists!
Module random failed to register: 17
module_register: module if_tun already exists!
Module if_tun failed to register: 17
module_register: module cardbus/dc already exists!
Module cardbus/dc failed to register: 17
module_register: module pci/dc already exists!
Module pci/dc failed to register: 17
module_register: module dc/miibus already exists!
Module dc/miibus failed to register: 17
ST6600
COMPAQ Professional Workstation XP1000, 666MHz
8192 byte page size, 1 processor.
CPU: EV67 (21264A) major=11 minor=9 extensions=0x307<BWX,FIX,CIX,MVI,PRECISE>
OSF PAL rev: 0x1001400020147
real memory  = 669253632 (638 MB)
avail memory = 641564672 (611 MB)
panic: mutex "random reseed" 0xfffffc0000969648 already initialized
cpuid = 0; 
panic
Stopped at      Debugger+0x38:  zapnot  v0,#0xf,v0      <v0=0x6>
db> tr
Debugger() at Debugger+0x38
panic() at panic+0x218
mtx_init() at mtx_init+0x80
random_init() at random_init+0xac
random_modevent() at random_modevent+0x48
module_register_init() at module_register_init+0xa0
mi_startup() at mi_startup+0x144
locorestart() at locorestart+0x64
--- root of call graph ---
db> 


More information about the freebsd-alpha mailing list