Hi Edk2 expert folks, I am starting on UEFI coming from Linux background, In Linux, There is clear identification of device and driver, platform code adds the device into system and later OS code binds driver for the same. With UEFI driver writer guide, I am bit confused, please help me, how devices are being added in UEFI. what code/API adds device. Let me ask with an example, say i have PCI controller then driver for this controller (DXE_DRIVER) could be named as controller handle. Now there could be a driver represented as device handle, which handles device connected over this PCIe. Now when PCIe bus driver scans the bus then it found a PCIe device, how this bus driver adds the device into system ? Second, say we have spi controller and with this controller there is spi flash. with UEFI terminology spi controller will be controller handle spi flash will be device and driver for this flash will be called driver handle. spi controller and spi flash are marked as DXE_DRIVER what I am missing,where are added spi flash as device in system ? Sorry for basic question, but UEFI is complicated w.r.t originally i thought Thanks KumarG