X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/Ventoy.git/blobdiff_plain/be50ea69aaf2a18b9801c04efea19825d7f34c44..78df21fc4053350dbb6f41061dcfeeff9727f4fb:/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/Ventoy.h diff --git a/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/Ventoy.h b/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/Ventoy.h index 250da0e..1e79467 100644 --- a/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/Ventoy.h +++ b/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/Ventoy.h @@ -168,23 +168,33 @@ typedef struct ventoy_virt_chunk #define VTOY_BLOCK_DEVICE_PATH_GUID \ { 0x37b87ac6, 0xc180, 0x4583, { 0xa7, 0x05, 0x41, 0x4d, 0xa8, 0xf7, 0x7e, 0xd2 }} -#define ISO9660_EFI_DRIVER_PATH L"\\ventoy\\iso9660_x64.efi" #define VTOY_BLOCK_DEVICE_PATH_NAME L"ventoy" #if defined (MDE_CPU_IA32) #define VENTOY_UEFI_DESC L"IA32 UEFI" + #define ISO9660_EFI_DRIVER_PATH L"\\ventoy\\iso9660_ia32.efi" + #define UDF_EFI_DRIVER_PATH L"\\ventoy\\udf_ia32.efi" #elif defined (MDE_CPU_X64) #define VENTOY_UEFI_DESC L"X64 UEFI" + #define ISO9660_EFI_DRIVER_PATH L"\\ventoy\\iso9660_x64.efi" + #define UDF_EFI_DRIVER_PATH L"\\ventoy\\udf_x64.efi" #elif defined (MDE_CPU_EBC) #elif defined (MDE_CPU_ARM) #define VENTOY_UEFI_DESC L"ARM UEFI" + #define ISO9660_EFI_DRIVER_PATH L"\\ventoy\\iso9660_arm.efi" + #define UDF_EFI_DRIVER_PATH L"\\ventoy\\udf_arm.efi" #elif defined (MDE_CPU_AARCH64) #define VENTOY_UEFI_DESC L"ARM64 UEFI" + #define ISO9660_EFI_DRIVER_PATH L"\\ventoy\\iso9660_aa64.efi" + #define UDF_EFI_DRIVER_PATH L"\\ventoy\\udf_aa64.efi" #else #error Unknown Processor Type #endif +#define VENTOY_DEVICE_WARN 1 +#define VTOY_WARNING L"!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!" + typedef struct ventoy_sector_flag { UINT8 flag; // 0:init 1:mem 2:remap @@ -227,6 +237,7 @@ if (gDebugPrint) \ gBS->WaitForEvent(1, &gST->ConIn->WaitForKey, &__Index);\ } +typedef int (*grub_env_set_pf)(const char *name, const char *val); typedef const char * (*grub_env_get_pf)(const char *name); typedef int (*grub_env_printf_pf)(const char *fmt, ...); @@ -255,6 +266,7 @@ typedef struct ventoy_grub_param_file_replace typedef struct ventoy_grub_param { grub_env_get_pf grub_env_get; + grub_env_set_pf grub_env_set; ventoy_grub_param_file_replace file_replace; grub_env_printf_pf grub_env_printf; }ventoy_grub_param; @@ -273,6 +285,32 @@ typedef struct ventoy_iso9660_override UINT32 size_be; }ventoy_iso9660_override; +typedef struct PART_TABLE +{ + UINT8 Active; // 0x00 0x80 + + UINT8 StartHead; + UINT16 StartSector : 6; + UINT16 StartCylinder : 10; + + UINT8 FsFlag; + + UINT8 EndHead; + UINT16 EndSector : 6; + UINT16 EndCylinder : 10; + + UINT32 StartSectorId; + UINT32 SectorCount; +}PART_TABLE; + +typedef struct MBR_HEAD +{ + UINT8 BootCode[446]; + PART_TABLE PartTbl[4]; + UINT8 Byte55; + UINT8 ByteAA; +}MBR_HEAD; + #pragma pack() @@ -338,6 +376,7 @@ extern ventoy_efi_file_replace g_efi_file_replace; extern ventoy_sector_flag *g_sector_flag; extern UINT32 g_sector_flag_num; extern BOOLEAN gMemdiskMode; +extern BOOLEAN gSector512Mode; extern UINTN g_iso_buf_size; extern UINT8 *g_iso_data_buf; extern ventoy_grub_param_file_replace *g_file_replace_list;