32-bit powerpc FreeBSD address 0x0-0xff content (physical addresses): What is the explanation?
Mark Millard
markmi at dsl-only.net
Mon Jun 5 05:07:55 UTC 2017
I've been trying to get evidence for periodic/random
panics in the likes of head -r317820 for 32-bit
powerpc FreeBSD used on an old PowerMac G5 so-called
"Quad Core".
One thing that I've noticed that looks odd is
that the vmcore.* files (debug.minidump=0) show
content that looks like the following for
physical address range 0x0..0xff (via a
hacked-to-work-a-little kgdb for physical
address access to such a vmcore.* file):
(kgdb) x/128wx 0x0
0x0: 0x00000000 0x00000000 0x00000000 0x00000000
0x10: 0x00000000 0xffa35e50 0xffa35ee8 0x00000000
0x20: 0x00000000 0x00000000 0x00000000 0x00000000
0x30: 0x00000000 0x00000000 0x00000000 0x00000000
0x40: 0x00000000 0x00000000 0x00000000 0x00000000
0x50: 0x00000000 0x00000000 0x00000000 0x00000000
0x60: 0x00000000 0x00000000 0x00000000 0x00000000
0x70: 0x00000000 0x00000000 0x00000000 0x00000000
0x80: 0x00000090 0x7ff7c080 0x7fc9e7c8 0x00000000
0x90: 0x3c007ff7 0x6000c100 0x7c0903a6 0x4e800421
0xa0: 0x00000000 0x00000000 0x00000000 0x00000000
0xb0: 0x00000000 0x00000000 0x00000000 0x00000000
0xc0: 0x00000000 0x00000000 0x00000000 0x00000000
0xd0: 0x00000000 0x00000000 0x00000000 0x00000000
0xe0: 0x00000000 0x00000000 0x00000000 0x00000000
0xf0: 0x00000000 0x00000000 0x00000000 0x00000000
. . .
Or viewed as instructions when the bit patterns
fit such (with added NOTE's):
(kgdb) x/128i 0x0
0x0: .long 0x0
0x4: .long 0x0
0x8: .long 0x0
0xc: .long 0x0
0x10: .long 0x0
0x14: .long 0xffa35e50
0x18: .long 0xffa35ee8
0x1c: .long 0x0
0x20: .long 0x0
0x24: .long 0x0
0x28: .long 0x0
0x2c: .long 0x0
0x30: .long 0x0
0x34: .long 0x0
0x38: .long 0x0
0x3c: .long 0x0
0x40: .long 0x0
0x44: .long 0x0
0x48: .long 0x0
0x4c: .long 0x0
0x50: .long 0x0
0x54: .long 0x0
0x58: .long 0x0
0x5c: .long 0x0
0x60: .long 0x0
0x64: .long 0x0
0x68: .long 0x0
0x6c: .long 0x0
0x70: .long 0x0
0x74: .long 0x0
0x78: .long 0x0
0x7c: .long 0x0
0x80: .long 0x90
0x84: .long 0x7ff7c080
0x88: .long 0x7fc9e7c8
0x8c: .long 0x0
0x90: lis r0,32759 (NOTE: 32759==0x7ff7)
0x94: ori r0,r0,49408 (NOTE: 49408==0xC100)
0x98: mtctr r0 (NOTE: So ctr==r0==0x7ff7C100)
0x9c: bctrl (NOTE: So to 0x7ff7C100 virtual address)
0xa0: .long 0x0 (NOTE: lr would end up pointing here.)
0xa4: .long 0x0
0xa8: .long 0x0
0xac: .long 0x0
0xb0: .long 0x0
0xb4: .long 0x0
0xb8: .long 0x0
0xbc: .long 0x0
0xc0: .long 0x0
0xc4: .long 0x0
0xc8: .long 0x0
0xcc: .long 0x0
0xd0: .long 0x0
0xd4: .long 0x0
0xd8: .long 0x0
0xdc: .long 0x0
0xe0: .long 0x0
0xe4: .long 0x0
0xe8: .long 0x0
0xec: .long 0x0
0xf0: .long 0x0
0xf4: .long 0x0
0xf8: .long 0x0
0xfc: .long 0x0
. . .
Is this deliberate? If yes: What is it for?
(I've not found what writes those bytes.)
I do not make the claim that the above is
tied to the periodic/random panics. It just
seems unusual.
===
Mark Millard
markmi at dsl-only.net
More information about the freebsd-ppc
mailing list