WIP: VESA driver. Make initfs generated by code
This commit is contained in:
parent
a4ede1d23d
commit
e110ab81b8
21 changed files with 430 additions and 306 deletions
|
@ -14,14 +14,17 @@ pub const CLONE_SUPERVISE: usize = 0x400000;
|
|||
pub const CLOCK_REALTIME: usize = 1;
|
||||
pub const CLOCK_MONOTONIC: usize = 4;
|
||||
|
||||
pub const MODE_DIR: u16 = 0x4000;
|
||||
pub const MODE_FILE: u16 = 0x8000;
|
||||
pub const MODE_ALL: u16 = MODE_DIR | MODE_FILE;
|
||||
|
||||
pub const FUTEX_WAIT: usize = 0;
|
||||
pub const FUTEX_WAKE: usize = 1;
|
||||
pub const FUTEX_REQUEUE: usize = 2;
|
||||
|
||||
pub const MAP_WRITE: usize = 1;
|
||||
pub const MAP_WRITE_COMBINE: usize = 2;
|
||||
|
||||
pub const MODE_DIR: u16 = 0x4000;
|
||||
pub const MODE_FILE: u16 = 0x8000;
|
||||
pub const MODE_ALL: u16 = MODE_DIR | MODE_FILE;
|
||||
|
||||
pub const SEEK_SET: usize = 0;
|
||||
pub const SEEK_CUR: usize = 1;
|
||||
pub const SEEK_END: usize = 2;
|
||||
|
|
|
@ -110,6 +110,14 @@ pub fn open(path: &str, flags: usize) -> Result<usize> {
|
|||
unsafe { syscall3(SYS_OPEN, path.as_ptr() as usize, path.len(), flags) }
|
||||
}
|
||||
|
||||
pub unsafe fn physmap(physical_address: usize, size: usize, flags: usize) -> Result<usize> {
|
||||
syscall3(SYS_PHYSMAP, physical_address, size, flags)
|
||||
}
|
||||
|
||||
pub unsafe fn physunmap(virtual_address: usize) -> Result<usize> {
|
||||
syscall1(SYS_PHYSUNMAP, virtual_address)
|
||||
}
|
||||
|
||||
pub fn pipe2(fds: &mut [usize; 2], flags: usize) -> Result<usize> {
|
||||
unsafe { syscall2(SYS_PIPE2, fds.as_ptr() as usize, flags) }
|
||||
}
|
||||
|
|
|
@ -19,6 +19,8 @@ pub const SYS_LSEEK: usize = 19;
|
|||
pub const SYS_MKDIR: usize = 39;
|
||||
pub const SYS_NANOSLEEP: usize = 162;
|
||||
pub const SYS_OPEN: usize = 5;
|
||||
pub const SYS_PHYSMAP: usize = 945;
|
||||
pub const SYS_PHYSUNMAP: usize = 946;
|
||||
pub const SYS_PIPE2: usize = 331;
|
||||
pub const SYS_READ: usize = 3;
|
||||
pub const SYS_RMDIR: usize = 84;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue