[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] E5-2620v2 - emulation stop error
From: |
Andrey Korolyov |
Subject: |
Re: [Qemu-devel] E5-2620v2 - emulation stop error |
Date: |
Thu, 26 Mar 2015 02:35:58 +0300 |
On Thu, Mar 26, 2015 at 2:02 AM, Kevin O'Connor <address@hidden> wrote:
> On Thu, Mar 26, 2015 at 01:31:11AM +0300, Andrey Korolyov wrote:
>> On Wed, Mar 25, 2015 at 11:54 PM, Kevin O'Connor <address@hidden> wrote:
>> >
>> > Can you add something like:
>> >
>> > -chardev file,path=seabioslog.`date +%s`,id=seabios -device
>> > isa-debugcon,iobase=0x402,chardev=seabios
>> >
>> > to the qemu command line and forward the resulting log from both a
>> > succesful boot and a failed one?
>> >
>> > -Kevin
>>
>> Of course, logs are attached.
>
> Thanks. From a diff of the two logs:
>
> 4: 000000003ffe0000 - 0000000040000000 = 2 RESERVED
> 5: 00000000feffc000 - 00000000ff000000 = 2 RESERVED
> 6: 00000000fffc0000 - 0000000100000000 = 2 RESERVED
> -enter handle_19:
> - NULL
> -Booting from Hard Disk...
> -Booting from 0000:7c00
>
> So, it got most of the way through the reboot - there's only a few
> function calls between the e820 map being dumped and the handle_19
> call. The fault also seems to show it stopped in the BIOS in 16bit
> mode:
>
>> EIP=0000d331 EFL=00010202 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
>> ES =0000 00000000 0000ffff 00009300
>> CS =f000 000f0000 0000ffff 00009b00
>
> Can you add the patch below, force the fault, and forward the log.
>
> Also, if you recreate the failure can you take the EIP from the fault
> (eg, d331) and search for the corresponding function in the output of:
> objdump -m i386 -M i8086 -M suffix -ldr out/rom16.o | less
> (That is, search for "d331:".) If that's too much of a pain, just
> send me a direct email with the seabios out/rom16.o file and the new
> EIP of the fault. (I need the out/rom16.o that was used to build the
> version of SeaBIOS that faulted.)
>
> -Kevin
>
>
> diff --git a/src/post.c b/src/post.c
> index 9ea5620..bbd19c0 100644
> --- a/src/post.c
> +++ b/src/post.c
> @@ -185,21 +185,24 @@ prepareboot(void)
> pmm_prepboot();
> malloc_prepboot();
> memmap_prepboot();
> + dprintf(1, "a\n");
>
> HaveRunPost = 2;
>
> // Setup bios checksum.
> BiosChecksum -= checksum((u8*)BUILD_BIOS_ADDR, BUILD_BIOS_SIZE);
> + dprintf(1, "b\n");
> }
>
> // Begin the boot process by invoking an int0x19 in 16bit mode.
> void VISIBLE32FLAT
> startBoot(void)
> {
> + dprintf(1, "e\n");
> // Clear low-memory allocations (required by PMM spec).
> memset((void*)BUILD_STACK_ADDR, 0, BUILD_EBDA_MINIMUM -
> BUILD_STACK_ADDR);
>
> - dprintf(3, "Jump to int19\n");
> + dprintf(1, "Jump to int19 (vector=%x)\n", GET_IVT(0x19).segoff);
> struct bregs br;
> memset(&br, 0, sizeof(br));
> br.flags = F_IF;
> @@ -239,9 +242,11 @@ maininit(void)
> // Prepare for boot.
> prepareboot();
>
> + dprintf(1, "c\n");
> // Write protect bios memory.
> make_bios_readonly();
>
> + dprintf(1, "d\n");
> // Invoke int 19 to start boot process.
> startBoot();
> }
Thanks, strangely the reboot is always failing now and always reaching
seabios greeting. May be prints straightened up a race (e.g. it is not
int19 problem really).
object file part:
0000d331 <irq_trampoline_0x19>:
irq_trampoline_0x19():
/root/seabios-1.8.1/src/romlayout.S:195
d331: cd 19 int $0x19
d333: cb lretw
reboot.failed
Description: Binary data
- Re: [Qemu-devel] E5-2620v2 - emulation stop error, (continued)
- Re: [Qemu-devel] E5-2620v2 - emulation stop error, Andrey Korolyov, 2015/03/11
- Re: [Qemu-devel] E5-2620v2 - emulation stop error, Dr. David Alan Gilbert, 2015/03/12
- Re: [Qemu-devel] E5-2620v2 - emulation stop error, Andrey Korolyov, 2015/03/12
- Re: [Qemu-devel] E5-2620v2 - emulation stop error, Andrey Korolyov, 2015/03/16
- Re: [Qemu-devel] E5-2620v2 - emulation stop error, Dr. David Alan Gilbert, 2015/03/16
- Re: [Qemu-devel] E5-2620v2 - emulation stop error, Andrey Korolyov, 2015/03/25
- Re: [Qemu-devel] E5-2620v2 - emulation stop error, Andrey Korolyov, 2015/03/25
- Re: [Qemu-devel] E5-2620v2 - emulation stop error, Kevin O'Connor, 2015/03/25
- Re: [Qemu-devel] E5-2620v2 - emulation stop error, Andrey Korolyov, 2015/03/25
- Re: [Qemu-devel] E5-2620v2 - emulation stop error, Kevin O'Connor, 2015/03/25
- Re: [Qemu-devel] E5-2620v2 - emulation stop error,
Andrey Korolyov <=
- Re: [Qemu-devel] E5-2620v2 - emulation stop error, Kevin O'Connor, 2015/03/25
- Re: [Qemu-devel] E5-2620v2 - emulation stop error, Radim Krčmář, 2015/03/26
- Re: [Qemu-devel] E5-2620v2 - emulation stop error, Kevin O'Connor, 2015/03/26
- Re: [Qemu-devel] E5-2620v2 - emulation stop error, Andrey Korolyov, 2015/03/26
- Re: [Qemu-devel] E5-2620v2 - emulation stop error, Kevin O'Connor, 2015/03/26
- Re: [Qemu-devel] E5-2620v2 - emulation stop error, Andrey Korolyov, 2015/03/26
- Re: [Qemu-devel] E5-2620v2 - emulation stop error, Kevin O'Connor, 2015/03/26
- Re: [Qemu-devel] E5-2620v2 - emulation stop error, Andrey Korolyov, 2015/03/26
- Re: [Qemu-devel] E5-2620v2 - emulation stop error, Radim Krčmář, 2015/03/26
- Re: [Qemu-devel] E5-2620v2 - emulation stop error, Andrey Korolyov, 2015/03/26