Basic idea's are created for the storage solution
- 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
This commit is contained in:
20
kernel/storage/vfs/vfs.h
Normal file
20
kernel/storage/vfs/vfs.h
Normal file
@ -0,0 +1,20 @@
|
||||
#pragma once
|
||||
#include <stdint-gcc.h>
|
||||
#include "../../../CoreLib/Path.h"
|
||||
#include "StorageTypes.h"
|
||||
class VirtualFileSystem
|
||||
{
|
||||
public:
|
||||
static void initialize();
|
||||
static void Mount(PFS fs, unsigned int DeviceID);
|
||||
static void Unmount(unsigned int DeviceID);
|
||||
static FILE OpenFile(const char* path);
|
||||
static void RegisterPartition(PTR_PARTITION partition);
|
||||
|
||||
private:
|
||||
static const unsigned int DEVICE_MAX = 26;
|
||||
static const unsigned int PARTITION_MAX = 4 * DEVICE_MAX;
|
||||
static PFS _filesystems[DEVICE_MAX];
|
||||
static unsigned int num_partitions;
|
||||
static PTR_PARTITION _partitions [PARTITION_MAX];
|
||||
};
|
||||
Reference in New Issue
Block a user