Import backup from 2004-09-21

This commit is contained in:
josh committed 2017-07-25 22:23:48 -04:00
1 parent 78272f6bc3
commit bad7f79ed1
32 files changed
+696 -273

No files matched your search

+16
View File
@@ -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");
}
+15
View File
@@ -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
+1
View File
@@ -17,6 +17,7 @@ void devices_init()
{
parallel_init(MAJORC_PARALLEL);
vconsole_init(MAJORC_VCONSOLE);
// ramdisk_init(MAJORB_RAMDISK);
}
+8 -3
View File
@@ -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);
+16
View File
@@ -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);
}
+82
View File
@@ -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
+10
View File
@@ -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;
+23
View File
@@ -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