Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/common/lib/libc



>>> matthew green <mrg%eterna.com.au@localhost> wrote

>    Modified Files:
>       src/common/lib/libc: Makefile.inc
>       src/common/lib/libc/arch/sparc/atomic: Makefile.inc
>    
>    Log Message:
>    Search files in arch/sparc64/atomic before arch/sparc/atomic in case of
>    sparc64 32-bit kernel.
>    
>    Make sparc64 32-bit kernel works again.
> 
> 
> thanks for checking sparc64 32 bit kernels!  i thought i had it
> working.  at the very least the sparc change is a duplicate of
> what i added a couple of weeks ago.
> 
> please revert this bit.

But unless this changes, 32-bit kernel includes sparc version of
atomic_cas.S and membar_ops.S not sparc64 ones.

I wonder why only .PATH: is bad and .PATH.S: is good.

With sparc version of atmic_cas.S, my Ultra60 panic at the first
stage of boot as below:

Boot device: /pci@1f,4000/scsi@3/disk@0,0:d  File and args: netbsd-GENERIC_SUN4U
NetBSD IEEE 1275 Bootblock
..>> NetBSD/sparc64 OpenFirmware Boot, Revision 1.12
devopen: search_label returned Cannot read label
=0x846d84
Loading netbsd-GENERIC_SUN4U: 7004378+290128+223532 [327136+312958]=0x919f20
trap type 0x10: cpu 0, pc=1519858 npc=151985c 
pstate=ffffffffff82001e<PEF,AM,PRIV,IE>
kernel trap 10: illegal instruction
Stopped in pid 0.1 (system) at  netbsd:atomic_cas_ptr:  UNDEFINED
db> t
uvm_map_findspace(185f3c0, 0, 12c6000, 1c05ce0, 0, 10000) at 
netbsd:uvm_map_findspace+0x6c
uvm_map_prepare(185f3c0, 1000000, 12c6000, 0, ffffffff, ffffffff) at 
netbsd:uvm_map_prepare+0x94
uvm_km_init(22c6000, 1c05d08, 1875000, 1875144, 180e800, 22c45a0) at 
netbsd:uvm_km_init+0x78
uvm_init(0, 1c05ed0, d, f, f0067260, 1) at netbsd:uvm_init+0x50
main(0, 12d0e80, 187cc00, 2000, 1c02000, 1a1c440) at netbsd:main+0x28
cpu_initialize(f0067260, fff83d34, 44444230, 10fa04, fff83e34, 0) at 
netbsd:cpu_initialize+0xf0

01519858 <_atomic_cas_32>:
 1519858:       99 48 00 00     unknown
 151985c:       9a 13 2f 00     or  %o4, 0xf00, %o5
 1519860:       81 8b 60 00     unknown
 1519864:       01 00 00 00     nop 
 1519868:       01 00 00 00     nop 
 151986c:       01 00 00 00     nop 
 1519870:       d6 02 00 00     ld  [ %o0 ], %o3
 1519874:       80 a2 40 0b     cmp  %o1, %o3
 1519878:       22 80 00 02     be,a   1519880 <_atomic_cas_32+0x28>
 151987c:       d4 22 00 00     st  %o2, [ %o0 ]
 1519880:       81 8b 20 00     unknown
 1519884:       01 00 00 00     nop 
 1519888:       01 00 00 00     nop 
 151988c:       01 00 00 00     nop 
 1519890:       81 c3 e0 08     retl 
 1519894:       90 10 00 0b     mov  %o3, %o0

-- Takeshi Nakayama



Home | Main Index | Thread Index | Old Index