OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
BiosDisk.c File Reference

Go to the source code of this file.

Data Structures

struct  DEVICE_ADDRESS_PACKET
 

Macros

#define BIOS_PASS   0x00
 
#define BIOS_WRITE_PROTECTED   0x03
 
#define BIOS_SECTOR_NOT_FOUND   0x04
 
#define BIOS_RESET_FAILED   0x05
 
#define BIOS_DISK_CHANGED   0x06
 
#define BIOS_DRIVE_DOES_NOT_EXIST   0x07
 
#define BIOS_DMA_ERROR   0x08
 
#define BIOS_DATA_BOUNDRY_ERROR   0x09
 
#define BIOS_BAD_SECTOR   0x0a
 
#define BIOS_BAD_TRACK   0x0b
 
#define BIOS_MEADIA_TYPE_NOT_FOUND   0x0c
 
#define BIOS_INVALED_FORMAT   0x0d
 
#define BIOS_ECC_ERROR   0x10
 
#define BIOS_ECC_CORRECTED_ERROR   0x11
 
#define BIOS_HARD_DRIVE_FAILURE   0x20
 
#define BIOS_SEEK_FAILED   0x40
 
#define BIOS_DRIVE_TIMEOUT   0x80
 
#define BIOS_DRIVE_NOT_READY   0xaa
 
#define BIOS_UNDEFINED_ERROR   0xbb
 
#define BIOS_WRITE_FAULT   0xcc
 
#define BIOS_SENSE_FAILED   0xff
 
#define BIOS_DISK_CHECK_BUFFER_SECTOR_COUNT   4
 

Functions

STATIC EFI_STATUS BiosDiskReset (IN THUNK_CONTEXT *ThunkContext, IN EFI_LEGACY_8259_PROTOCOL *Legacy8259, IN UINT8 DriveNumber)
 
STATIC EFI_STATUS BiosDiskExtensionsSupported (IN THUNK_CONTEXT *ThunkContext, IN EFI_LEGACY_8259_PROTOCOL *Legacy8259, IN UINT8 DriveNumber)
 
STATIC EFI_STATUS BiosDiskReadExtSectors (IN THUNK_CONTEXT *ThunkContext, IN EFI_LEGACY_8259_PROTOCOL *Legacy8259, IN DEVICE_ADDRESS_PACKET *DeviceAddressPacket, IN UINT8 DriveNumber, IN UINT64 Lba, IN UINT8 NumSectors, IN OUT UINT8 *Buffer)
 
EFI_STATUS InternalGetBiosDiskAddress (IN THUNK_CONTEXT *ThunkContext, IN EFI_LEGACY_8259_PROTOCOL *Legacy8259, IN EFI_HANDLE DiskHandle, OUT UINT8 *DriveAddress)
 

Detailed Description

Copyright (C) 2023, Goldfish64. All rights reserved.
SPDX-License-Identifier: BSD-3-Clause

Definition in file BiosDisk.c.

Macro Definition Documentation

◆ BIOS_BAD_SECTOR

#define BIOS_BAD_SECTOR   0x0a

Definition at line 19 of file BiosDisk.c.

◆ BIOS_BAD_TRACK

#define BIOS_BAD_TRACK   0x0b

Definition at line 20 of file BiosDisk.c.

◆ BIOS_DATA_BOUNDRY_ERROR

#define BIOS_DATA_BOUNDRY_ERROR   0x09

Definition at line 18 of file BiosDisk.c.

◆ BIOS_DISK_CHANGED

#define BIOS_DISK_CHANGED   0x06

Definition at line 15 of file BiosDisk.c.

◆ BIOS_DISK_CHECK_BUFFER_SECTOR_COUNT

#define BIOS_DISK_CHECK_BUFFER_SECTOR_COUNT   4

Definition at line 42 of file BiosDisk.c.

◆ BIOS_DMA_ERROR

#define BIOS_DMA_ERROR   0x08

Definition at line 17 of file BiosDisk.c.

◆ BIOS_DRIVE_DOES_NOT_EXIST

#define BIOS_DRIVE_DOES_NOT_EXIST   0x07

Definition at line 16 of file BiosDisk.c.

◆ BIOS_DRIVE_NOT_READY

#define BIOS_DRIVE_NOT_READY   0xaa

Definition at line 28 of file BiosDisk.c.

◆ BIOS_DRIVE_TIMEOUT

#define BIOS_DRIVE_TIMEOUT   0x80

Definition at line 27 of file BiosDisk.c.

◆ BIOS_ECC_CORRECTED_ERROR

#define BIOS_ECC_CORRECTED_ERROR   0x11

Definition at line 24 of file BiosDisk.c.

◆ BIOS_ECC_ERROR

#define BIOS_ECC_ERROR   0x10

Definition at line 23 of file BiosDisk.c.

◆ BIOS_HARD_DRIVE_FAILURE

#define BIOS_HARD_DRIVE_FAILURE   0x20

Definition at line 25 of file BiosDisk.c.

◆ BIOS_INVALED_FORMAT

#define BIOS_INVALED_FORMAT   0x0d

Definition at line 22 of file BiosDisk.c.

◆ BIOS_MEADIA_TYPE_NOT_FOUND

#define BIOS_MEADIA_TYPE_NOT_FOUND   0x0c

Definition at line 21 of file BiosDisk.c.

◆ BIOS_PASS

#define BIOS_PASS   0x00

Definition at line 11 of file BiosDisk.c.

◆ BIOS_RESET_FAILED

#define BIOS_RESET_FAILED   0x05

Definition at line 14 of file BiosDisk.c.

◆ BIOS_SECTOR_NOT_FOUND

#define BIOS_SECTOR_NOT_FOUND   0x04

Definition at line 13 of file BiosDisk.c.

◆ BIOS_SEEK_FAILED

#define BIOS_SEEK_FAILED   0x40

Definition at line 26 of file BiosDisk.c.

◆ BIOS_SENSE_FAILED

#define BIOS_SENSE_FAILED   0xff

Definition at line 31 of file BiosDisk.c.

◆ BIOS_UNDEFINED_ERROR

#define BIOS_UNDEFINED_ERROR   0xbb

Definition at line 29 of file BiosDisk.c.

◆ BIOS_WRITE_FAULT

#define BIOS_WRITE_FAULT   0xcc

Definition at line 30 of file BiosDisk.c.

◆ BIOS_WRITE_PROTECTED

#define BIOS_WRITE_PROTECTED   0x03

Definition at line 12 of file BiosDisk.c.

Function Documentation

◆ BiosDiskExtensionsSupported()

STATIC EFI_STATUS BiosDiskExtensionsSupported ( IN THUNK_CONTEXT * ThunkContext,
IN EFI_LEGACY_8259_PROTOCOL * Legacy8259,
IN UINT8 DriveNumber )

Definition at line 79 of file BiosDisk.c.

◆ BiosDiskReadExtSectors()

STATIC EFI_STATUS BiosDiskReadExtSectors ( IN THUNK_CONTEXT * ThunkContext,
IN EFI_LEGACY_8259_PROTOCOL * Legacy8259,
IN DEVICE_ADDRESS_PACKET * DeviceAddressPacket,
IN UINT8 DriveNumber,
IN UINT64 Lba,
IN UINT8 NumSectors,
IN OUT UINT8 * Buffer )

Definition at line 104 of file BiosDisk.c.

◆ BiosDiskReset()

STATIC EFI_STATUS BiosDiskReset ( IN THUNK_CONTEXT * ThunkContext,
IN EFI_LEGACY_8259_PROTOCOL * Legacy8259,
IN UINT8 DriveNumber )

Definition at line 46 of file BiosDisk.c.

◆ InternalGetBiosDiskAddress()

EFI_STATUS InternalGetBiosDiskAddress ( IN THUNK_CONTEXT * ThunkContext,
IN EFI_LEGACY_8259_PROTOCOL * Legacy8259,
IN EFI_HANDLE DiskHandle,
OUT UINT8 * DriveAddress )

Definition at line 140 of file BiosDisk.c.