mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 16:57:46 +00:00
Import the "gerbert" kernel I worked on earlier this year.
It's a lot crappier than I remembered it. It's gonna need a lot of work.
This commit is contained in:
parent
f608629704
commit
9396108034
55 changed files with 4600 additions and 0 deletions
35
Kernel/Disk.h
Normal file
35
Kernel/Disk.h
Normal file
|
@ -0,0 +1,35 @@
|
|||
#pragma once
|
||||
|
||||
#include "types.h"
|
||||
#include "DataBuffer.h"
|
||||
|
||||
#define IDE0_DATA 0x1F0
|
||||
#define IDE0_STATUS 0x1F7
|
||||
#define IDE0_COMMAND 0x1F7
|
||||
#define BUSY 0x80
|
||||
#define DRDY 0x40
|
||||
#define DRQ 0x08
|
||||
#define IDENTIFY_DRIVE 0xEC
|
||||
#define READ_SECTORS 0x21
|
||||
|
||||
#define IDE0_DISK0 0
|
||||
#define IDE0_DISK1 1
|
||||
#define IDE1_DISK0 2
|
||||
#define IDE1_DISK1 3
|
||||
|
||||
typedef struct
|
||||
{
|
||||
WORD cylinders;
|
||||
WORD heads;
|
||||
WORD sectors_per_track;
|
||||
} ide_drive_t;
|
||||
|
||||
extern void ide_init();
|
||||
extern ide_drive_t drive[4];
|
||||
|
||||
namespace Disk {
|
||||
|
||||
void initialize();
|
||||
bool readSectors(DWORD sectorIndex, WORD count, BYTE* buffer);
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue