---------- Forwarded message --------- From: Omar Berrow omarkberrow@gmail.com Date: Sun, Nov 3, 2024 at 7:11 AM Subject: Re: [SeaBIOS] [PATCH] resume: reset mmconfig to zero To: Paul Menzel pmenzel@molgen.mpg.de
Also maybe mention the new log messages. Should the log level be increased to 3, or is it important to have it in
the logs? I must've forgotten to remove the printf while debugging, it's fine to completely remove it.
What’s the downside of not making the BIOS read-only?
The BIOS does later write to mmconfig while resuming, it does indeed assume that the bios is writable, which, if I made it read-only again, would make this assumption false.
Nice find. Is there a way to reproduce your issue, for example with QEMU?
Indeed: - Put QEMU into the S3 sleeping state. - When you wake the virtual machine, if you were to add logs in pci_config_writel, you would see that it tries to use ECAM space while access to the ECAM is being restored. Side effects: ECAM access was never truly restored in the BIOS on resume, so when the kernel then goes to access the PCIe bus through ECAM, it finds that no changes are going through.
If you guys need a kernel that has S3 to verify this, I will link my kernel below https://github.com/OBOS-dev/obos/tree/b26e062af2c53ee6c3364a88784d22225ee27f... (for the best performance, use CMAKE_BUILD_TYPE=Release and KVM) It should suspend right after printing:
[ LOG ] oboskrnl: Suspend requested
Sincerely, Omar