Nigel
50bf952a49
- Added boot device info parsing to the kernel - Added a pointer in the kernel to our pre-kernel BootInfo structure - Created a layout for the FAT driver - Created a layout for the virtual filesystem - Separated IDE driver from the basic atapio driver. This will ensure we are not using one or the other - The create_harddrive shell script will now actually build a harddrive image of the kernel - The virtual filesystem initializes and creates a filesystem structure for every FAT16 partition in the master boot record
21 lines
884 B
C
21 lines
884 B
C
#pragma once
|
|
#include <stdint.h>
|
|
#include "./ExtendBootRecord.h"
|
|
|
|
struct BiosParameterBlock {
|
|
uint8_t BootLoaderCodeSection [3];
|
|
uint8_t OEM_id [8];
|
|
uint16_t BytesPerSector ; // I suspect would be 512
|
|
uint8_t SectorsPerCluster ;
|
|
uint16_t ReservedSectors;
|
|
uint8_t NumberOfFileAllocationTables; // Probably equals 2
|
|
uint16_t NumberOfDirectoryEntries; // Root directory must contain entire sectors
|
|
uint16_t TotalSectorsInLogicalVolume ; // 0 means >65535 sectors in volume , actual count can be found in LargeSectorCount
|
|
uint8_t MediaDescriptor ; // Indication the media descriptor type
|
|
uint16_t NumberOfSectorsPerFAT;// only in FAT12 / FAT 16
|
|
uint16_t NumberOfSectorsPerTrack;
|
|
uint16_t NumberOfHeadsOnMedia;
|
|
uint32_t NumberOfHiddenSectors;
|
|
uint32_t LargeSectorCount;
|
|
ExtendedBootRecord_FAT16 ebpb;
|
|
}__attribute__((packed)); |