Yeah, we can place the stack at the bottom of a page so if it overflows we get a page fault. I'm assuming that will work in SMM?
On Tue, Oct 1, 2019 at 10:27 AM Aaron Durbin <adur...@google.com> wrote: > > > On Tue, Oct 1, 2019 at 9:42 AM Raul Rangel <rran...@chromium.org> wrote: > >> That's exciting. That means we can finally catch stack overflows in SMM. >> > > Because of paging? > >> >> On Sun, Sep 29, 2019 at 5:42 AM Patrick Rudolph <s...@das-labor.org> >> wrote: >> >>> Dear coreboot community, >>> Please test and review the patch series [1]. >>> >>> It adds support for x86 long mode on qemu and allows to build test >>> most of coreboot's common code using the x86_64 toolchain. >>> It serves as reference implementation to migrate real hardware to long >>> mode. >>> >>> Here some technical details, that can also be found in the >>> Documentation/ folder: >>> >>> A new tool called pgtblgen create static page tables for a known >>> physical >>> memory address. The page tables are placed in CBFS at the given address. >>> Due to the fixed and known address, they can easily be loaded in >>> assembly code. >>> It only works on platforms that memory map the SPI flash, which are >>> almost all >>> modern x86 platforms. >>> >>> The advantage of page tables in ROM are: >>> * No runtime (assembly) code to generate page tables >>> * No need to find a (4K aligned) place in heap to store them >>> * Improved security for SMM, as page tables are always immutable >>> >>> The page tables are loaded in bootblock and SMM and persist until >>> control is handed >>> over to the payload. >>> >>> For the Proof-of-Concept only 4GiB are identity mapped, thus no stage >>> can't access >>> memory over 4GiB. That's not a problem for now as no coreboot code make >>> use of memory >>> above 4GiB yet. >>> >>> I haven't done further tests on long mode. >>> It will be interesting to see if there are improvements on boot speed, >>> code size or >>> faster firmware decompression speeds. >>> >>> Regards, >>> Patrick >>> >>> 1: >>> >>> https://review.coreboot.org/q/topic:%22x86_64_support2%22+(status:open%20OR%20status:merged) >>> _______________________________________________ >>> coreboot mailing list -- coreboot@coreboot.org >>> To unsubscribe send an email to coreboot-le...@coreboot.org >>> >> _______________________________________________ >> coreboot mailing list -- coreboot@coreboot.org >> To unsubscribe send an email to coreboot-le...@coreboot.org >> >
_______________________________________________ coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-le...@coreboot.org