Import backup from 2004-09-21
This commit is contained in:
1 parent
78272f6bc3
commit
bad7f79ed1
32 files changed
+696
-273
No files matched your search
@@ -0,0 +1,16 @@
|
||||
// devfs.c
|
||||
// Author: Josh Holtrop
|
||||
// Date: 08/22/04
|
||||
// Modified: 08/22/04
|
||||
|
||||
#include "hos_defines.h"
|
||||
#include "fs/devfs.h"
|
||||
#include "fs/devices.h"
|
||||
#include "fs/vfs.h"
|
||||
|
||||
void devfs_init(minor_t rd_minor)
|
||||
{
|
||||
// vfs_mount(MAJORB_RAMDISK, rd_minor, FS_EXT2, "/dev");
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
// devfs.h
|
||||
// Author: Josh Holtrop
|
||||
// Date: 08/22/04
|
||||
// Modified: 08/22/04
|
||||
|
||||
#ifndef __HOS_DEVFS_H__
|
||||
#define __HOS_DEVFS_H__ __HOS_DEVFS_H__
|
||||
|
||||
#include "hos_defines.h"
|
||||
#include "fs/devices.h"
|
||||
|
||||
void devfs_init(minor_t rd_minor);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -17,6 +17,7 @@ void devices_init()
|
||||
{
|
||||
parallel_init(MAJORC_PARALLEL);
|
||||
vconsole_init(MAJORC_VCONSOLE);
|
||||
// ramdisk_init(MAJORB_RAMDISK);
|
||||
}
|
||||
|
||||
|
||||
|
||||
+8
-3
@@ -1,7 +1,7 @@
|
||||
// devices.h
|
||||
// Author: Josh Holtrop
|
||||
// Date: 08/02/04
|
||||
// Modified: 08/16/04
|
||||
// Modified: 08/22/04
|
||||
|
||||
#ifndef __HOS_DEVICES_H__
|
||||
#define __HOS_DEVICES_H__ __HOS_DEVICES_H__
|
||||
@@ -12,8 +12,13 @@
|
||||
#define MAJORC_PARALLEL 6
|
||||
#define MAJORC_KEYBOARD 11
|
||||
|
||||
typedef unsigned char major_t;
|
||||
typedef unsigned char minor_t;
|
||||
#define MAJORB_RAMDISK 1
|
||||
|
||||
#define BLOCK_SIZE 512
|
||||
#define BLOCK_SIZE_LOG 9
|
||||
|
||||
typedef short major_t;
|
||||
typedef short minor_t;
|
||||
|
||||
typedef struct {
|
||||
int (*block_read)(minor_t minor, u32_t blockStart, u32_t blocks, void *buffer);
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
// ext2.c
|
||||
// Author: Josh Holtrop
|
||||
// Date: 08/22/04
|
||||
// Modified: 08/22/04
|
||||
|
||||
#include "hos_defines.h"
|
||||
#include "fs/devices.h"
|
||||
#include "kout.h"
|
||||
|
||||
void ext2_read_super(major_t major, minor_t minor);
|
||||
{
|
||||
ext2_super_block_t *super = kmalloc(1024);
|
||||
block_read(major, minor, 2, 2, super);
|
||||
kprintf("Magic: 0x%x\n", super->s_magic);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,82 @@
|
||||
// ext2.h
|
||||
// Author: Josh Holtrop
|
||||
// Date: 08/22/04
|
||||
// Modified: 08/22/04
|
||||
|
||||
#ifndef __HOS_EXT2_H__
|
||||
#define __HOS_EXT2_H__ __HOS_EXT2_H__
|
||||
|
||||
#include "hos_defines.h"
|
||||
#include "fs/devices.h"
|
||||
|
||||
typedef struct {
|
||||
u32_t s_inodes_count; /* Inodes count */
|
||||
u32_t s_blocks_count; /* Blocks count */
|
||||
u32_t s_r_blocks_count; /* Reserved blocks count */
|
||||
u32_t s_free_blocks_count; /* Free blocks count */
|
||||
u32_t s_free_inodes_count; /* Free inodes count */
|
||||
u32_t s_first_data_block; /* First Data Block */
|
||||
u32_t s_log_block_size; /* Block size */
|
||||
int s_log_frag_size; /* Fragment size */
|
||||
u32_t s_blocks_per_group; /* # Blocks per group */
|
||||
u32_t s_frags_per_group; /* # Fragments per group */
|
||||
u32_t s_inodes_per_group; /* # Inodes per group */
|
||||
u32_t s_mtime; /* Mount time */
|
||||
u32_t s_wtime; /* Write time */
|
||||
u16_t s_mnt_count; /* Mount count */
|
||||
short s_max_mnt_count; /* Maximal mount count */
|
||||
u16_t s_magic; /* Magic signature */
|
||||
u16_t s_state; /* File system state */
|
||||
u16_t s_errors; /* Behaviour when detecting errors */
|
||||
u16_t s_minor_rev_level; /* minor revision level */
|
||||
u32_t s_lastcheck; /* time of last check */
|
||||
u32_t s_checkinterval; /* max. time between checks */
|
||||
u32_t s_creator_os; /* OS */
|
||||
u32_t s_rev_level; /* Revision level */
|
||||
u16_t s_def_resuid; /* Default uid for reserved blocks */
|
||||
u16_t s_def_resgid; /* Default gid for reserved blocks */
|
||||
|
||||
/*
|
||||
* EXT2_DYNAMIC_REV fields...
|
||||
*/
|
||||
u32_t s_first_ino; /* First non-reserved inode */
|
||||
u16_t s_inode_size; /* size of inode structure */
|
||||
u16_t s_block_group_nr; /* block group # of this superblock */
|
||||
u32_t s_feature_compat; /* compatible feature set */
|
||||
u32_t s_feature_incompat; /* incompatible feature set */
|
||||
u32_t s_feature_ro_compat; /* readonly-compatible feature set */
|
||||
u8_t s_uuid[16]; /* 128-bit uuid for volume */
|
||||
char s_volume_name[16]; /* volume name */
|
||||
char s_last_mounted[64]; /* directory where last mounted */
|
||||
u32_t s_algorithm_usage_bitmap; /* For compression */
|
||||
|
||||
/*
|
||||
* Performance hints...
|
||||
*/
|
||||
u8_t s_prealloc_blocks; /* Nr of blocks to try to preallocate*/
|
||||
u8_t s_prealloc_dir_blocks; /* Nr to preallocate for dirs */
|
||||
u16_t s_padding1;
|
||||
|
||||
/*
|
||||
* Journaling information...
|
||||
*/
|
||||
u8_t s_journal_uuid[16]; /* uuid of journal superblock */
|
||||
u32_t s_journal_inum; /* inode number of journal file */
|
||||
u32_t s_journal_dev; /* device number of journal file */
|
||||
u32_t s_last_orphan; /* start of list of inodes to delete */
|
||||
u32_t s_hash_seed[4]; /* HTREE hash seed */
|
||||
u8_t s_def_hash_version; /* Default hash version to use */
|
||||
u8_t s_reserved_char_pad;
|
||||
u16_t s_reserved_word_pad;
|
||||
u32_t s_default_mount_opts;
|
||||
u32_t s_first_meta_bg; /* First metablock block group */
|
||||
u32_t s_reserved[190]; /* Padding to the end of the block */
|
||||
|
||||
} ext2_super_block_t;
|
||||
|
||||
|
||||
void ext2_read_super(major_t major, minor_t minor);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
// vfs.c
|
||||
// Author: Josh Holtrop
|
||||
// Date: 08/22/04
|
||||
// Modified: 08/22/04
|
||||
|
||||
#include "hos_defines.h"
|
||||
#include "fs/vfs.h"
|
||||
|
||||
vfs_mount_t *firstMount;
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
// vfs.h
|
||||
// Author: Josh Holtrop
|
||||
// Date: 08/22/04
|
||||
// Modified: 08/22/04
|
||||
|
||||
#ifndef __HOS_VFS_H__
|
||||
#define __HOS_VFS_H__ __HOS_VFS_H__
|
||||
|
||||
#include "hos_defines.h"
|
||||
#include "fs/devices.h"
|
||||
|
||||
#define FS_EXT2 1
|
||||
|
||||
typedef struct {
|
||||
char *name;
|
||||
void *super;
|
||||
void *next;
|
||||
major_t major;
|
||||
minor_t minor;
|
||||
} vfs_mount_t;
|
||||
|
||||
#endif
|
||||
|
||||
Reference in new issue
Block a user