* Ronald G Minnich <[EMAIL PROTECTED]> [020414 07:05]: > For example, suppose you want to try running your machine's bios and you > know it lives at 0xfffe0000 in /dev/mem. It needs to be in x86 space at > 0xe0000. You want the initial CS:IP to be the reset vector > (0xf000:0xfff0). You would do something like this: > > # tmmap dumps chunks of /dev/mem to files > # 0xfffe is the top 16 bits of the address. Due to a long-running strtol > # bug. > tmmap 0xfffe 0x20000 > /tmp/it > # now run testbios using that BIOS > ./testbios /tmp/it 0x20000 0xe0000 0xfff0 0xf000
When trying to run my geode's gfx or network bios, testbios got stuck when approaching an int1a (pci bios) AX=0000 BX=0000 CX=0000 DX=0000 SP=fffc BP=0000 SI=0000 DI=0000 DS=0000 ES=0000 SS=0000 CS=c800 IP=1aa4 NV UP DI NG NZ NA PE NC c800:1aa3 60 PUSHA c800:1aa3 -t AX=0000 BX=0000 CX=0000 DX=0000 SP=ffec BP=0000 SI=0000 DI=0000 DS=0000 ES=0000 SS=0000 CS=c800 IP=1aa6 NV UP DI NG NZ NA PE NC c800:1aa4 8bd8 MOV BX,AX c800:1aa4 -t AX=0000 BX=0000 CX=0000 DX=0000 SP=ffec BP=0000 SI=0000 DI=0000 DS=0000 ES=0000 SS=0000 CS=c800 IP=1aa9 NV UP DI NG NZ NA PE NC c800:1aa6 bf1000 MOV DI,10 c800:1aa6 -t AX=0000 BX=0000 CX=0000 DX=0000 SP=ffec BP=0000 SI=0000 DI=0010 DS=0000 ES=0000 SS=0000 CS=c800 IP=1aac NV UP DI NG NZ NA PE NC c800:1aa9 b809b1 MOV AX,b109 c800:1aa9 -t AX=b109 BX=0000 CX=0000 DX=0000 SP=ffec BP=0000 SI=0000 DI=0010 DS=0000 ES=0000 SS=0000 CS=c800 IP=1aae NV UP DI NG NZ NA PE NC c800:1aac cd1a INT 1a c800:1aac -t AX=b109 BX=0000 CX=0000 DX=0000 SP=ffe6 BP=0000 SI=0000 DI=0010 DS=0000 ES=0000 SS=0000 CS=0000 IP=0002 NV UP DI NG NZ NA PE NC 0000:0000 0000 ADD [BX+SI],AL is there any easy way of getting non interactive mode to work? Best regards, Stefan Reinauer -- Ok hex 4666 dup negate do i 4000 dup 2* negate do " *" 0 dup 2dup 1e 0 do 2swap * e >>a 2* 5 pick + -rot - j + dup dup * e >>a rot dup dup * e >>a rot swap 2dup + 10000 > if 3drop 3drop " " 0 dup 2dup leave then loop 2drop 2drop type 268 +loop cr drop 5de +loop