Hello Himanshu, On 19.03.21 17:12, Himanshu Chauhan wrote: > On Fri, Mar 19, 2021 at 09:33:43PM +0530, Himanshu Chauhan wrote: >> Hi, >> >> I am working on a hypervisor and running coreboot as guest. >> During a VMExit, I am seeing coreboot RIPs. Since coreboot >> is mix of 16-bit/32-bit code and because of relocations, >> I not able to find the listing of the code at specific address. >> >> For example, address is: 0x7f37806 >> >> I want to attach the coreboot binary to GDB and then do >> list *0x7f37806
there is almost no 16-bit code in coreboot. I guess we can ignore it for this matter. What is most important for coreboot addresses is the stage that is running. On x86, bootblock and romstage run XIP (execute in-place) from the BIOS ROM which is mapped directly below the 4GiB line. ramstage is relocated at runtime into RAM, which I assume is the address you see. Somewhere in the console output of coreboot it should print the relocation offset. As this is decided at runtime, I don't know any better way to obtain it. When you know the offset it's a matter of loading build/cbfs/fallback/ramstage.debug into GDB and telling it the offset (alas, I don't remember the command but I'm rather sure that it worked once). >> > > BTW, I can see the post code of 0xf8. Does this mean that > coreboot is done booting and its trying to load SeaBIOS? > I see a CPUID request of 0x40000000. I can't see such request > anywhere in coreboot. But there is one in SeaBIOS, to detect > if its running on KVM. > > I see that the RIP changes from > 0x7f37827 to 0xf289e Indeed this looks like a transition from ramstage to SeaBIOS. 0xf289e is in the legacy f-segment that is reserved for BIOS code. Hope that helps, Nico _______________________________________________ coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-le...@coreboot.org