Attention is currently required from: Anastasia Klimchuk. Thomas Heijligen has posted comments on this change. ( https://review.coreboot.org/c/flashrom/+/63826 )
Change subject: meson: outsource platform specific code to `platform/meson.build` ......................................................................
Patch Set 2:
(1 comment)
File meson.build:
https://review.coreboot.org/c/flashrom/+/63826/comment/ec1acbb2_0153a10a PS2, Line 80: host_is_x86 = ['x86', 'x86_64'].contains(host_machine.cpu_family())
I have a overall question about the idea: what is counted as "platform specific code" ? If in future […]
The term "outsource platform specific code" was maybe a bit to much for this commit message. I've only outsourced the build instructions for the code in `platform/`. With a full realization of the `platform/` directory the statements left in the top level `meson.build` should be vanish.
I've created the `platform/` directory to abstract functionality on different platforms. E.g. the different endiannesses. The code in `platform/` should not interact with code outside from this directory to have a clear separation between platform abstraction and common flashrom code. Good candidates to put there where the `mmio_(read|write)` functins, but without the `register_shutdown` variants. Also the `hwaccess_x86_*` functions in a slightly different way. The support for serial devices on unix and windows is currently realized with macros. This can be put in `platform/serial_unix.c`, `platform_serial_windows.c` and some helper file outside of `platform/` for code just shared between the programmers.
We should document where to put what but what when starting to create directories. I haven't found a good place for it yet.