PCI config space is not restored upon resume (macbook pro)

Oleg Sharoyko osharoiko at gmail.com
Thu Aug 19 04:48:05 UTC 2010

On 16 August 2010 22:21, Jung-uk Kim <jkim at freebsd.org> wrote:

> In theory, we can shadow video ROM and execute it in emulation *iff*
> it actually contains x86 real mode code.  It won't be too hard but I
> am not sure whether it is worth trying.  Are you sure the option ROM
> is actually real mode code but not shadowed again after resume?

Sorry, I guess I wasn't clear enough. There is no VGA ROM at 0xc0000
after resume. In patches for linux loader (which I've mentioned in
previous message) they search for ROM, then copy it into memory,
execute and install at proper address. This is possible during boot,
but I don't think this can be done after resume. And, moreover, I tend
to agree that this isn't worth trying as this is very specific to
macboocs only (AFAIK).

By the way, do you think it could be possible to dump option ROM
contents into a file before suspending the system and then load it
back on resume from userland? I've seen a userland tool in ports
(sysutils/vbetool) which can execute VESA BIOS functions. So, I guess,
it could be possible to try to call POST using saved ROM dump, but I
don't know if it's possible to stick this ROM image into memory
"forever" and for all processes.

Oleg Sharoyko

More information about the freebsd-hackers mailing list