DF-2213 / run.log
dfrig_cyx: DF-2213 rig loaded (production chipsets/ata-cyrix.c:98 included verbatim; kernel handler addr=0x0 tbl=0x0) dfrig_cyx: kernel .rodata piotiming[] @ 0xffffffff80d0cd20 (verified: [0..4] == source constants): dfrig_cyx: [ 0] @+0x00 = 0x00009172 IN BOUNDS (piotiming[i]) dfrig_cyx: [ 1] @+0x04 = 0x00012171 IN BOUNDS (piotiming[i]) dfrig_cyx: [ 2] @+0x08 = 0x00020080 IN BOUNDS (piotiming[i]) dfrig_cyx: [ 3] @+0x0c = 0x00032010 IN BOUNDS (piotiming[i]) dfrig_cyx: [ 4] @+0x10 = 0x00040010 IN BOUNDS (piotiming[i]) dfrig_cyx: [ 5] @+0x14 = 0x00000000 OOB: pad hole dfrig_cyx: [ 6] @+0x18 = 0x00077771 OOB: dmatiming[0] dfrig_cyx: [ 7] @+0x1c = 0x00012121 OOB: dmatiming[1] dfrig_cyx: [ 8] @+0x20 = 0x00002020 OOB: dmatiming[2] <-- PIO0 (0x08) lands here dfrig_cyx: [ 9] @+0x24 = 0x00000000 OOB: pad hole <-- PIO1 (0x09) lands here dfrig_cyx: [10] @+0x28 = 0x00921250 OOB: udmatiming[0] <-- PIO2 (0x0a) lands here dfrig_cyx: [11] @+0x2c = 0x00911140 OOB: udmatiming[1] <-- PIO3 (0x0b) lands here dfrig_cyx: [12] @+0x30 = 0x00911030 OOB: udmatiming[2] <-- PIO4 (0x0c) lands here dfrig_cyx: [13] @+0x34 = 0x00000000 OOB: unrelated driver constant dfrig_cyx[go1]: BEFORE dispatch: ch->dma=0xffffffff82601020 ctlr->r_res1=0xffffffff82601800 (guard ata-cyrix.c:84 passes) atadev->unit=0 dfrig_cyx[go1]: dispatching production ata_cyrix_setmode(dev, 0x0f) (RUNNING KERNEL own copy) dfrig_cyx[go1]: RETURNED: ch->dma->alignment=16 max_iosize=32768 dfrig_cyx[go1]: requested mode=0x0f settled mode=0x0c controlcmd_seen=1 dfrig_cyx[go1]: INDEX USED = mode & ATA_MODE_MASK = 0x0c & 0x0f = 12 (piotiming[] has 5 elements: 0..4) <<< OUT OF BOUNDS dfrig_cyx[go1]: INDEX RIGHT = ata_mode2idx(mode) = 4 (the idiom every sibling uses) dfrig_cyx[go1]: CORRECT VALUE piotiming[4] = 0x00040010 (source constant) dfrig_cyx[go1]: controller register file (fabricated BMIO MEM space): dfrig_cyx[go1]: reg 0x20 (PIO timing, devno 0) = 0x00911030 dfrig_cyx[go1]: reg 0x24 (DMA timing, devno 0) = 0x00000000 dfrig_cyx[go1]: OOB SOURCE kernel_mem[piotiming+12*4] = 0x00911030 == reg 0x20 write (OOB read CONFIRMED) dfrig_cyx: kernel .rodata piotiming[] @ 0xffffffff80d0cd20 (verified: [0..4] == source constants): dfrig_cyx: [ 0] @+0x00 = 0x00009172 IN BOUNDS (piotiming[i]) dfrig_cyx: [ 1] @+0x04 = 0x00012171 IN BOUNDS (piotiming[i]) dfrig_cyx: [ 2] @+0x08 = 0x00020080 IN BOUNDS (piotiming[i]) dfrig_cyx: [ 3] @+0x0c = 0x00032010 IN BOUNDS (piotiming[i]) dfrig_cyx: [ 4] @+0x10 = 0x00040010 IN BOUNDS (piotiming[i]) dfrig_cyx: [ 5] @+0x14 = 0x00000000 OOB: pad hole dfrig_cyx: [ 6] @+0x18 = 0x00077771 OOB: dmatiming[0] dfrig_cyx: [ 7] @+0x1c = 0x00012121 OOB: dmatiming[1] dfrig_cyx: [ 8] @+0x20 = 0x00002020 OOB: dmatiming[2] <-- PIO0 (0x08) lands here dfrig_cyx: [ 9] @+0x24 = 0x00000000 OOB: pad hole <-- PIO1 (0x09) lands here dfrig_cyx: [10] @+0x28 = 0x00921250 OOB: udmatiming[0] <-- PIO2 (0x0a) lands here dfrig_cyx: [11] @+0x2c = 0x00911140 OOB: udmatiming[1] <-- PIO3 (0x0b) lands here dfrig_cyx: [12] @+0x30 = 0x00911030 OOB: udmatiming[2] <-- PIO4 (0x0c) lands here dfrig_cyx: [13] @+0x34 = 0x00000000 OOB: unrelated driver constant dfrig_cyx[go2]: BEFORE dispatch: ch->dma=0xffffffff82601020 ctlr->r_res1=0xffffffff82601800 (guard ata-cyrix.c:84 passes) atadev->unit=0 dfrig_cyx[go2]: dispatching production ata_cyrix_setmode(dev, 0x0f) (verbatim #included copy) dfrig_cyx[go2]: RETURNED: ch->dma->alignment=16 max_iosize=32768 dfrig_cyx[go2]: requested mode=0x0f settled mode=0x0c controlcmd_seen=1 dfrig_cyx[go2]: INDEX USED = mode & ATA_MODE_MASK = 0x0c & 0x0f = 12 (piotiming[] has 5 elements: 0..4) <<< OUT OF BOUNDS dfrig_cyx[go2]: INDEX RIGHT = ata_mode2idx(mode) = 4 (the idiom every sibling uses) dfrig_cyx[go2]: CORRECT VALUE piotiming[4] = 0x00040010 (source constant) dfrig_cyx[go2]: controller register file (fabricated BMIO MEM space): dfrig_cyx[go2]: reg 0x20 (PIO timing, devno 0) = 0x00911030 dfrig_cyx[go2]: reg 0x24 (DMA timing, devno 0) = 0x00000000 dfrig_cyx[go2]: OOB SOURCE kernel_mem[piotiming+12*4] = 0x00911030 == reg 0x20 write (OOB read CONFIRMED) dfrig_cyx: kernel .rodata piotiming[] @ 0xffffffff80d0cd20 (verified: [0..4] == source constants): dfrig_cyx: [ 0] @+0x00 = 0x00009172 IN BOUNDS (piotiming[i]) dfrig_cyx: [ 1] @+0x04 = 0x00012171 IN BOUNDS (piotiming[i]) dfrig_cyx: [ 2] @+0x08 = 0x00020080 IN BOUNDS (piotiming[i]) dfrig_cyx: [ 3] @+0x0c = 0x00032010 IN BOUNDS (piotiming[i]) dfrig_cyx: [ 4] @+0x10 = 0x00040010 IN BOUNDS (piotiming[i]) dfrig_cyx: [ 5] @+0x14 = 0x00000000 OOB: pad hole dfrig_cyx: [ 6] @+0x18 = 0x00077771 OOB: dmatiming[0] dfrig_cyx: [ 7] @+0x1c = 0x00012121 OOB: dmatiming[1] dfrig_cyx: [ 8] @+0x20 = 0x00002020 OOB: dmatiming[2] <-- PIO0 (0x08) lands here dfrig_cyx: [ 9] @+0x24 = 0x00000000 OOB: pad hole <-- PIO1 (0x09) lands here dfrig_cyx: [10] @+0x28 = 0x00921250 OOB: udmatiming[0] <-- PIO2 (0x0a) lands here dfrig_cyx: [11] @+0x2c = 0x00911140 OOB: udmatiming[1] <-- PIO3 (0x0b) lands here dfrig_cyx: [12] @+0x30 = 0x00911030 OOB: udmatiming[2] <-- PIO4 (0x0c) lands here dfrig_cyx: [13] @+0x34 = 0x00000000 OOB: unrelated driver constant dfrig_cyx[go3]: BEFORE dispatch: ch->dma=0xffffffff82601020 ctlr->r_res1=0xffffffff82601800 (guard ata-cyrix.c:84 passes) atadev->unit=0 dfrig_cyx[go3]: dispatching production ata_cyrix_setmode(dev, 0x0f) (RUNNING KERNEL own copy) dfrig_cyx[go3]: RETURNED: ch->dma->alignment=16 max_iosize=32768 dfrig_cyx[go3]: requested mode=0x0f settled mode=0x08 controlcmd_seen=1 dfrig_cyx[go3]: INDEX USED = mode & ATA_MODE_MASK = 0x08 & 0x0f = 8 (piotiming[] has 5 elements: 0..4) <<< OUT OF BOUNDS dfrig_cyx[go3]: INDEX RIGHT = ata_mode2idx(mode) = 0 (the idiom every sibling uses) dfrig_cyx[go3]: CORRECT VALUE piotiming[0] = 0x00009172 (source constant) dfrig_cyx[go3]: controller register file (fabricated BMIO MEM space): dfrig_cyx[go3]: reg 0x20 (PIO timing, devno 0) = 0x00002020 dfrig_cyx[go3]: reg 0x24 (DMA timing, devno 0) = 0x00000000 dfrig_cyx[go3]: OOB SOURCE kernel_mem[piotiming+8*4] = 0x00002020 == reg 0x20 write (OOB read CONFIRMED) dfrig_cyx: kernel .rodata piotiming[] @ 0xffffffff80d0cd20 (verified: [0..4] == source constants): dfrig_cyx: [ 0] @+0x00 = 0x00009172 IN BOUNDS (piotiming[i]) dfrig_cyx: [ 1] @+0x04 = 0x00012171 IN BOUNDS (piotiming[i]) dfrig_cyx: [ 2] @+0x08 = 0x00020080 IN BOUNDS (piotiming[i]) dfrig_cyx: [ 3] @+0x0c = 0x00032010 IN BOUNDS (piotiming[i]) dfrig_cyx: [ 4] @+0x10 = 0x00040010 IN BOUNDS (piotiming[i]) dfrig_cyx: [ 5] @+0x14 = 0x00000000 OOB: pad hole dfrig_cyx: [ 6] @+0x18 = 0x00077771 OOB: dmatiming[0] dfrig_cyx: [ 7] @+0x1c = 0x00012121 OOB: dmatiming[1] dfrig_cyx: [ 8] @+0x20 = 0x00002020 OOB: dmatiming[2] <-- PIO0 (0x08) lands here dfrig_cyx: [ 9] @+0x24 = 0x00000000 OOB: pad hole <-- PIO1 (0x09) lands here dfrig_cyx: [10] @+0x28 = 0x00921250 OOB: udmatiming[0] <-- PIO2 (0x0a) lands here dfrig_cyx: [11] @+0x2c = 0x00911140 OOB: udmatiming[1] <-- PIO3 (0x0b) lands here dfrig_cyx: [12] @+0x30 = 0x00911030 OOB: udmatiming[2] <-- PIO4 (0x0c) lands here dfrig_cyx: [13] @+0x34 = 0x00000000 OOB: unrelated driver constant dfrig_cyx[go4]: BEFORE: requested mode=ATA_UDMA2 -- full extracted call site ata-pci.c:855-866 (call1 = ctlr->setmode(dev, ATA_PIO_MAX), call2 = ctlr->setmode(dev, 0x42)) dfrig_cyx[go4]: RETURNED: alignment=16 max_iosize=32768 controlcmd_seen=2 (2 SETXFER = normal) dfrig_cyx[go4]: requested mode=0x42 settled mode=0x42 controlcmd_seen=2 dfrig_cyx[go4]: INDEX USED = mode & ATA_MODE_MASK = 0x42 & 0x0f = 2 (piotiming[] has 5 elements: 0..4) dfrig_cyx[go4]: controller register file (fabricated BMIO MEM space): dfrig_cyx[go4]: reg 0x20 (PIO timing, devno 0) = 0x00911030 dfrig_cyx[go4]: reg 0x24 (DMA timing, devno 0) = 0x00911030 dfrig_cyx: kernel .rodata piotiming[] @ 0xffffffff80d0cd20 (verified: [0..4] == source constants): dfrig_cyx: [ 0] @+0x00 = 0x00009172 IN BOUNDS (piotiming[i]) dfrig_cyx: [ 1] @+0x04 = 0x00012171 IN BOUNDS (piotiming[i]) dfrig_cyx: [ 2] @+0x08 = 0x00020080 IN BOUNDS (piotiming[i]) dfrig_cyx: [ 3] @+0x0c = 0x00032010 IN BOUNDS (piotiming[i]) dfrig_cyx: [ 4] @+0x10 = 0x00040010 IN BOUNDS (piotiming[i]) dfrig_cyx: [ 5] @+0x14 = 0x00000000 OOB: pad hole dfrig_cyx: [ 6] @+0x18 = 0x00077771 OOB: dmatiming[0] dfrig_cyx: [ 7] @+0x1c = 0x00012121 OOB: dmatiming[1] dfrig_cyx: [ 8] @+0x20 = 0x00002020 OOB: dmatiming[2] <-- PIO0 (0x08) lands here dfrig_cyx: [ 9] @+0x24 = 0x00000000 OOB: pad hole <-- PIO1 (0x09) lands here dfrig_cyx: [10] @+0x28 = 0x00921250 OOB: udmatiming[0] <-- PIO2 (0x0a) lands here dfrig_cyx: [11] @+0x2c = 0x00911140 OOB: udmatiming[1] <-- PIO3 (0x0b) lands here dfrig_cyx: [12] @+0x30 = 0x00911030 OOB: udmatiming[2] <-- PIO4 (0x0c) lands here dfrig_cyx: [13] @+0x34 = 0x00000000 OOB: unrelated driver constant dfrig_cyx[go5]: BEFORE dispatch: ch->dma=0xffffffff82601020 ctlr->r_res1=0xffffffff82601800 (guard ata-cyrix.c:84 passes) atadev->unit=0 dfrig_cyx[go5]: dispatching production ata_cyrix_setmode(dev, 0x22) (RUNNING KERNEL own copy) dfrig_cyx[go5]: RETURNED: ch->dma->alignment=16 max_iosize=32768 dfrig_cyx[go5]: requested mode=0x22 settled mode=0x22 controlcmd_seen=1 dfrig_cyx[go5]: INDEX USED = mode & ATA_MODE_MASK = 0x22 & 0x0f = 2 (piotiming[] has 5 elements: 0..4) dfrig_cyx[go5]: controller register file (fabricated BMIO MEM space): dfrig_cyx[go5]: reg 0x20 (PIO timing, devno 0) = 0x00000000 dfrig_cyx[go5]: reg 0x24 (DMA timing, devno 0) = 0x00002020