\r
**/\r
\r
+#include <Library/UefiLib.h>\r
#include <Uefi/UefiSpec.h>\r
\r
+//\r
+// Higher versions will be used before lower, 0x10-0xffffffef is the version\r
+// range for IHV (Indie Hardware Vendors)\r
+//\r
+#define PVSCSI_BINDING_VERSION 0x10\r
+\r
+//\r
+// Driver Binding\r
+//\r
+\r
+STATIC\r
+EFI_STATUS\r
+EFIAPI\r
+PvScsiDriverBindingSupported (\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE ControllerHandle,\r
+ IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL\r
+ )\r
+{\r
+ return EFI_UNSUPPORTED;\r
+}\r
+\r
+STATIC\r
+EFI_STATUS\r
+EFIAPI\r
+PvScsiDriverBindingStart (\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE ControllerHandle,\r
+ IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL\r
+ )\r
+{\r
+ return EFI_UNSUPPORTED;\r
+}\r
+\r
+STATIC\r
+EFI_STATUS\r
+EFIAPI\r
+PvScsiDriverBindingStop (\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE ControllerHandle,\r
+ IN UINTN NumberOfChildren,\r
+ IN EFI_HANDLE *ChildHandleBuffer\r
+ )\r
+{\r
+ return EFI_UNSUPPORTED;\r
+}\r
+\r
+STATIC EFI_DRIVER_BINDING_PROTOCOL mPvScsiDriverBinding = {\r
+ &PvScsiDriverBindingSupported,\r
+ &PvScsiDriverBindingStart,\r
+ &PvScsiDriverBindingStop,\r
+ PVSCSI_BINDING_VERSION,\r
+ NULL, // ImageHandle, filled by EfiLibInstallDriverBindingComponentName2()\r
+ NULL // DriverBindingHandle, filled as well\r
+};\r
+\r
//\r
// Entry Point\r
//\r
IN EFI_SYSTEM_TABLE *SystemTable\r
)\r
{\r
- return EFI_UNSUPPORTED;\r
+ return EfiLibInstallDriverBindingComponentName2 (\r
+ ImageHandle,\r
+ SystemTable,\r
+ &mPvScsiDriverBinding,\r
+ ImageHandle,\r
+ NULL, // TODO Component name\r
+ NULL // TODO Component name\r
+ );\r
}\r