Hi Vincenzo,
On 11.07.2017 18:13, ingegneriaforense@alice.it wrote:
Hello everybody, i'm new of this mailing list and is the first time i see the coreboot code (however I know the processors based on Intel Architecture and its language). However I apologize in advance with you if i commit some errors doing my questions.
welcome to the list!
1- My need is take a look at the coreboot code that set up (inizialize) the USB, IDE and SATA ports. Please, can you tell me in which files i can find the inizialization of the above mentioned interfaces ?
coreboot doesn't do any initialization of these interfaces beyond what is needed to make it work with an OS driver. This usually includes some chip level initialization (very chipset specific and therefore to be found in each chipset's directory, usually usb.c/sata.c/ide.c or *hci.c).
coreboot itself doesn't perform any probing of or communication with peripherals, that is left to the payload. The basic concept of coreboot is to do only the minimum hardware initialization required to run an OS. After coreboot is done it loads a small program from flash (the payload) and runs it. Loading further programs (the OS), user interaction etc. is all up to this payload. The payload can be a BIOS implementation (e.g. SeaBIOS) for legacy compatibility, a boot loader like GRUB that can run bare metal (i.e. without help of a BIOS) or even an OS kernel (Linux is much tested).
My goal is to see if, during the inizialization phase, the coreboot code does, in some way, writing operations into the USB, IDE and SATA drives attached to the corresponding port .
2- If there are case where the coreboot bios communicates with the USB, IDE and SATA periferal drives during the normal user activity and, if so, in which cases this happens.
It all depends on the chosen payload. For instance, IIRC, GRUB has limited write support. If you build Linux into your coreboot firmware, you'll have write support ofc.
Hope that helps, Nico