Hi,
I am building the coreboot-4.11 with Uefipayload for Camelback Mountain FSP-based CRB.
I am seperately compiling the Uefipayload in the edk2 tool (version : uefipayload_202107) downloaded from Mrchromebox in the github and merging as an ELF executable payload.
The coreboot was succesfully loaded and OS was booted.
In the UEFI shell, when I tried to use network, it was seen that network controller and stack drivers are not available in the payload.
I have seperataly compiled the network stack drivers in the same edk2 tool and tried to load at runtime in the UEFI shell along with the network controller driver provided by Intel.
At first, I loaded network controller driver and the device was detected as given below
"Intel(R) I210 Gigabit Network Connection"
Later, I tried loading the network stack drivers in the sequence given below
1, SnpDxe.efi
2, MnpDxe.efi
3, ArpDxe.efi
While loading the "ArpDxe.efi", an exception has been occured given below,
!!!! X64 Exception Type - 06 (#UD - Invalid Opcode)
CPU Apic ID - 00000000 !!!!
!!! Cant find image information !!!
I tried loading Uefipayload in which network stack drivers are merged at compile time, still the result was same.
But, when I tried loading the network stack drivers compiled in same edk2 tool and network controller driver in the actual BIOS present in CRB, all the network stack drivers was successfully loaded and ethernet was initilized.
I am suspecting that network stack driver / controller driver is trying to execute a particular instruction which is not supported in coreboot. Whether any instruction sets I have to separately enable in coreboot. If no, what could be the reason for this exception.
Regards,
Noyal Johnson
Hi,
On 27. 08. 22 11:31, Noyal Johnson wrote:
Hi, !!!! X64 Exception Type - 06 (#UD - Invalid Opcode)
CPU Apic ID - 00000000 !!!!
!!! Cant find image information !!!
Do you know what kind of instruction it is? Probably dumping "RIP" + some bytes around and then decoding it would help.
I suspect probably your compiler emits something not quite enabled. Typical problems in some other projects was that GCC emited some SSE instruction for memcpy(). This might not be enabled in coreboot startup (sorry, don't know it is long time ago I looked). The UEFI itself has some ABI which mandates what should be enabled (FPU unit for example).
Also, make sure you use right GCC to compile everything. Maybe the defaults for your compiler are not sane.
Thanks, Rudolf
I tried loading Uefipayload in which network stack drivers are merged at compile time, still the result was same.
But, when I tried loading the network stack drivers compiled in same edk2 tool and network controller driver in the actual BIOS present in CRB, all the network stack drivers was successfully loaded and ethernet was initilized.
I am suspecting that network stack driver / controller driver is trying to execute a particular instruction which is not supported in coreboot. Whether any instruction sets I have to separately enable in coreboot. If no, what could be the reason for this exception.
Regards,
Noyal Johnson
coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-leave@coreboot.org