Hi Guys!
I am trying to read/write the VGA's memory(bochs display in qemu).
it is running in 64 bit protected mode.
I retrieved the BAR address: 0xFD000800, so the actual address is 0xFD000000.
i used this as a source: viewtopic.php?f=1&t=32898
Here they say to write to that BAR location, but it cause failures on my site.
But when i just simply read that region *(uint8_t*)(address), it just dies seemingly in Qemu.
VGA is set to the correct resolution, qemu window resizes, etc.
Although in Bochs can see (i think) the content of that address: 0xF000FF53, but it is still just keeps restarting over and over.
What am i doing wrong? Thanks for any ideas
bochs log:
0001425690d[CPU0 ] inhibit interrupts mask = 3
00001425695d[CPU0 ] real mode activated
00001425703d[CPU0 ] inhibit interrupts mask = 3
00001554541i[VBIOS ] VGABios $Id: vgabios.c 226 2020-01-02 21:36:23Z vruppert $
00001554612i[BXVGA ] VBE known Display Interface b0c0
00001554644i[BXVGA ] VBE known Display Interface b0c5
00001557287i[VBIOS ] VBE Bios $Id: vbe.c 228 2020-01-02 23:09:02Z vruppert
00001557380d[CPU0 ] interrupt(): vector = 10, TYPE = 4, EXT = 0
00001597090d[CPU0 ] interrupt(): vector = 10, TYPE = 4, EXT = 0
00001615408d[CPU0 ] interrupt(): vector = 10, TYPE = 4, EXT = 0
Reading VGA's PCI BAR Register in QEMU causes failure
-
- Member
- Posts: 5568
- Joined: Mon Mar 25, 2013 7:01 pm
Re: Reading VGA's PCI BAR Register in QEMU causes failure
Did you map physical address 0xFD000000 to a virtual address in order to access it? (Also, you should set up exception handlers.)kashimoto wrote:What am i doing wrong?
That looks like the contents of physical address 0.kashimoto wrote:Although in Bochs can see (i think) the content of that address: 0xF000FF53
Re: Reading VGA's PCI BAR Register in QEMU causes failure
Yeah i forgot to map that address range!
Thank you!
Thank you!