[coreboot] Disassembly of coreboot binaries

Chauhan, Himanshu hschauhan at nulltrace.org
Wed Dec 14 16:57:34 CET 2016


Hi Aaron,

Yes, I am mapping the memory where coreboot.rom is loaded to upper 4GiB. I
create a fixed shadow page table entry for reset vector.

Coreboot doesn't have a linked address of RIP that I shared. I think with
the increase in size of coreboot (from the previous tag I was using) the
load address (guest physical) has changed. I used to calculate the load
address manually. I will check this and get back.

Thanks.

On Wed, Dec 14, 2016 at 8:17 PM, Aaron Durbin <adurbin at google.com> wrote:

> On Wed, Dec 14, 2016 at 3:11 AM, Chauhan, Himanshu
> <hschauhan at nulltrace.org> wrote:
> > Hi,
> >
> > I am working on a hypvervisor and am using coreboot + FILO as guest BIOS.
> > While things were fine a while back, it has stopped working. I see that
> my
> > hypervisor can't handle address 0xFFFFFC while coreboot's RIP is at
> > 0xfff81e41.
>
>
> How are you loading up coreboot.rom in the VM? Are you just memory
> mapping it at the top of 4GiB address space? If so, what does
> 'cbfstool coreboot.rom print' show?
>
> >
> > The exact register dump of guest is as follow:
> >
> > [guest0/uart0] (__handle_vm_exception:558) ERROR: No region mapped to
> guest
> > physical: 0xfffffc
> >
> > GUEST guest0/vcpu0 dump state:
> >
> > RAX: 0x9fe80 RBX: 0xfffff8 RCX: 0x1b RDX: 0x53a11439
> > R08: 0x0 R09: 0x0 R10: 0x0 R11: 0x0
> > R12: 0x0 R13: 0x0 R14: 0x0 R15: 0x0
> > RSP: 0x9fe54 RBP: 0xa0000 RDI: 0xfff801e4 RSI: 0x9fe80
> > RIP: 0xfff81e41
> >
> > CR0: 0xe0000011 CR2: 0x0 CR3: 0xa23000 CR4: 0x0
> > CS    : Sel: 0x00000008 Limit: 0xffffffff Base: 0x00000000 (G:  1 DB:  1
> L:
> > 0 AVL:  0 P:  1 DPL:  0 S:  1 Type: 11)
> > DS    : Sel: 0x00000010 Limit: 0xffffffff Base: 0x00000000 (G:  1 DB:  1
> L:
> > 0 AVL:  0 P:  1 DPL:  0 S:  1 Type:  3)
> > ES    : Sel: 0x00000010 Limit: 0xffffffff Base: 0x00000000 (G:  1 DB:  1
> L:
> > 0 AVL:  0 P:  1 DPL:  0 S:  1 Type:  3)
> > SS    : Sel: 0x00000010 Limit: 0xffffffff Base: 0x00000000 (G:  1 DB:  1
> L:
> > 0 AVL:  0 P:  1 DPL:  0 S:  1 Type:  3)
> > FS    : Sel: 0x00000010 Limit: 0xffffffff Base: 0x00000000 (G:  1 DB:  1
> L:
> > 0 AVL:  0 P:  1 DPL:  0 S:  1 Type:  3)
> > GS    : Sel: 0x00000010 Limit: 0xffffffff Base: 0x00000000 (G:  1 DB:  1
> L:
> > 0 AVL:  0 P:  1 DPL:  0 S:  1 Type:  3)
> > GDT   : Sel: 0x00000000 Limit: 0x0000001f Base: 0xfff80200 (G:  0 DB:  0
> L:
> > 0 AVL:  0 P:  0 DPL:  0 S:  0 Type:  0)
> > LDT   : Sel: 0x00000000 Limit: 0x0000ffff Base: 0x00000000 (G:  0 DB:  0
> L:
> > 0 AVL:  0 P:  0 DPL:  0 S:  0 Type:  0)
> > IDT   : Sel: 0x00000000 Limit: 0x00000000 Base: 0x00000000 (G:  0 DB:  0
> L:
> > 0 AVL:  0 P:  0 DPL:  0 S:  0 Type:  0)
> > TR    : Sel: 0x00000000 Limit: 0x0000ffff Base: 0x00000000 (G:  1 DB:  0
> L:
> > 1 AVL:  1 P:  0 DPL:  0 S:  0 Type:  0)
> > RFLAGS: 0xa    [ ]
> >
> > I want to know which binary file (.o) should I disassemble to look at the
> > RIP?
> >
> > I was looking at
> > objdump -D  -mi386 -Maddr16,data16 generated/ramstage.o
> >
> > but this is prior to linking and thus only has offsets.
> >
> > --
> >
> > Regards
> > [Himanshu Chauhan]
> >
> >
> > --
> > coreboot mailing list: coreboot at coreboot.org
> > https://www.coreboot.org/mailman/listinfo/coreboot
>



-- 

Regards
[Himanshu Chauhan]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20161214/fb844d23/attachment.html>


More information about the coreboot mailing list