vesad: Update redox_syscall
This commit is contained in:
Generated
+10
-1
@@ -919,6 +919,14 @@ name = "redox_syscall"
|
||||
version = "0.1.57"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
|
||||
[[package]]
|
||||
name = "redox_syscall"
|
||||
version = "0.2.0"
|
||||
source = "git+https://gitlab.redox-os.org/redox-os/syscall?rev=4115e0f43547449ce56f7d7749732813e9505955#4115e0f43547449ce56f7d7749732813e9505955"
|
||||
dependencies = [
|
||||
"bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "redox_syscall"
|
||||
version = "0.2.0"
|
||||
@@ -1286,7 +1294,7 @@ version = "0.1.0"
|
||||
dependencies = [
|
||||
"orbclient 0.3.27 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"ransid 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"redox_syscall 0.1.57 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"redox_syscall 0.2.0 (git+https://gitlab.redox-os.org/redox-os/syscall?rev=4115e0f43547449ce56f7d7749732813e9505955)",
|
||||
"rusttype 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
@@ -1458,6 +1466,7 @@ dependencies = [
|
||||
"checksum redox_event 0.1.0 (git+https://gitlab.redox-os.org/redox-os/event.git)" = "<none>"
|
||||
"checksum redox_syscall 0.1.57 (registry+https://github.com/rust-lang/crates.io-index)" = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
|
||||
"checksum redox_syscall 0.2.0 (git+https://gitlab.redox-os.org/redox-os/syscall.git)" = "<none>"
|
||||
"checksum redox_syscall 0.2.0 (git+https://gitlab.redox-os.org/redox-os/syscall?rev=4115e0f43547449ce56f7d7749732813e9505955)" = "<none>"
|
||||
"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"
|
||||
"checksum rusttype 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "d8d729e72445ad579171b01a9231657736b3793a2cf423078e687e20ecb8695a"
|
||||
"checksum ryu 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@ edition = "2018"
|
||||
orbclient = "0.3.27"
|
||||
ransid = "0.4"
|
||||
rusttype = { version = "0.2", optional = true }
|
||||
redox_syscall = "0.1"
|
||||
redox_syscall = { git = "https://gitlab.redox-os.org/redox-os/syscall", rev = "4115e0f43547449ce56f7d7749732813e9505955" }
|
||||
|
||||
[features]
|
||||
default = []
|
||||
|
||||
+4
-4
@@ -38,7 +38,7 @@ fn main() {
|
||||
let physbaseptr;
|
||||
|
||||
{
|
||||
let mode_info = unsafe { &*(physmap(0x5200, 4096, 0).expect("vesad: failed to map VBE info") as *const VBEModeInfo) };
|
||||
let mode_info = unsafe { &*(physmap(0x5200, 4096, syscall::PhysmapFlags::empty()).expect("vesad: failed to map VBE info") as *const VBEModeInfo) };
|
||||
|
||||
width = mode_info.xresolution as usize;
|
||||
height = mode_info.yresolution as usize;
|
||||
@@ -53,7 +53,7 @@ fn main() {
|
||||
syscall::pipe2(&mut pipes, 0).unwrap();
|
||||
let mut read = unsafe { File::from_raw_fd(pipes[0] as RawFd) };
|
||||
let mut write = unsafe { File::from_raw_fd(pipes[1] as RawFd) };
|
||||
let pid = unsafe { syscall::clone(0).unwrap() };
|
||||
let pid = unsafe { syscall::clone(syscall::CloneFlags::empty()).unwrap() };
|
||||
if pid != 0 {
|
||||
drop(write);
|
||||
|
||||
@@ -113,7 +113,7 @@ fn main() {
|
||||
}
|
||||
|
||||
for (handle_id, handle) in scheme.handles.iter_mut() {
|
||||
if handle.events & EVENT_READ == 0 {
|
||||
if handle.events.contains(EVENT_READ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -135,7 +135,7 @@ fn main() {
|
||||
gid: 0,
|
||||
a: syscall::number::SYS_FEVENT,
|
||||
b: *handle_id,
|
||||
c: EVENT_READ,
|
||||
c: EVENT_READ.bits(),
|
||||
d: count
|
||||
};
|
||||
|
||||
|
||||
+8
-8
@@ -2,7 +2,7 @@ use std::collections::BTreeMap;
|
||||
use std::{mem, slice, str};
|
||||
|
||||
use orbclient::{Event, EventOption};
|
||||
use syscall::{Result, Error, EACCES, EBADF, EINVAL, ENOENT, O_NONBLOCK, Map, SchemeMut};
|
||||
use syscall::{Error, EventFlags, EACCES, EBADF, EINVAL, ENOENT, Map, O_NONBLOCK, Result, SchemeMut};
|
||||
|
||||
use crate::display::Display;
|
||||
use crate::screen::{Screen, GraphicScreen, TextScreen};
|
||||
@@ -17,7 +17,7 @@ pub enum HandleKind {
|
||||
pub struct Handle {
|
||||
pub kind: HandleKind,
|
||||
pub flags: usize,
|
||||
pub events: usize,
|
||||
pub events: EventFlags,
|
||||
pub notified_read: bool
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@ impl SchemeMut for DisplayScheme {
|
||||
self.handles.insert(id, Handle {
|
||||
kind: HandleKind::Input,
|
||||
flags: flags,
|
||||
events: 0,
|
||||
events: EventFlags::empty(),
|
||||
notified_read: false
|
||||
});
|
||||
|
||||
@@ -106,7 +106,7 @@ impl SchemeMut for DisplayScheme {
|
||||
self.handles.insert(id, Handle {
|
||||
kind: HandleKind::Screen(screen_i),
|
||||
flags: flags,
|
||||
events: 0,
|
||||
events: EventFlags::empty(),
|
||||
notified_read: false
|
||||
});
|
||||
|
||||
@@ -132,14 +132,14 @@ impl SchemeMut for DisplayScheme {
|
||||
Ok(new_id)
|
||||
}
|
||||
|
||||
fn fevent(&mut self, id: usize, flags: usize) -> Result<usize> {
|
||||
fn fevent(&mut self, id: usize, flags: syscall::EventFlags) -> Result<syscall::EventFlags> {
|
||||
let handle = self.handles.get_mut(&id).ok_or(Error::new(EBADF))?;
|
||||
|
||||
handle.notified_read = false;
|
||||
|
||||
if let HandleKind::Screen(_screen_i) = handle.kind {
|
||||
handle.events = flags;
|
||||
Ok(0)
|
||||
Ok(syscall::EventFlags::empty())
|
||||
} else {
|
||||
Err(Error::new(EBADF))
|
||||
}
|
||||
@@ -274,12 +274,12 @@ impl SchemeMut for DisplayScheme {
|
||||
}
|
||||
}
|
||||
|
||||
fn seek(&mut self, id: usize, pos: usize, whence: usize) -> Result<usize> {
|
||||
fn seek(&mut self, id: usize, pos: isize, whence: usize) -> Result<isize> {
|
||||
let handle = self.handles.get(&id).ok_or(Error::new(EBADF))?;
|
||||
|
||||
if let HandleKind::Screen(screen_i) = handle.kind {
|
||||
if let Some(screen) = self.screens.get_mut(&screen_i) {
|
||||
return screen.seek(pos, whence);
|
||||
return screen.seek(pos, whence).map(|pos| pos as isize);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -91,13 +91,13 @@ impl Screen for GraphicScreen {
|
||||
Ok(size * 4)
|
||||
}
|
||||
|
||||
fn seek(&mut self, pos: usize, whence: usize) -> Result<usize> {
|
||||
fn seek(&mut self, pos: isize, whence: usize) -> Result<usize> {
|
||||
let size = self.display.offscreen.len();
|
||||
|
||||
self.seek = match whence {
|
||||
SEEK_SET => cmp::min(size, pos/4),
|
||||
SEEK_CUR => cmp::max(0, cmp::min(size as isize, self.seek as isize + (pos/4) as isize)) as usize,
|
||||
SEEK_END => cmp::max(0, cmp::min(size as isize, size as isize + (pos/4) as isize)) as usize,
|
||||
SEEK_SET => cmp::min(size, (pos/4) as usize),
|
||||
SEEK_CUR => cmp::max(0, cmp::min(size as isize, self.seek as isize + (pos/4))) as usize,
|
||||
SEEK_END => cmp::max(0, cmp::min(size as isize, size as isize + (pos/4))) as usize,
|
||||
_ => return Err(Error::new(EINVAL))
|
||||
};
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ pub trait Screen {
|
||||
|
||||
fn write(&mut self, buf: &[u8], sync: bool) -> Result<usize>;
|
||||
|
||||
fn seek(&mut self, pos: usize, whence: usize) -> Result<usize>;
|
||||
fn seek(&mut self, pos: isize, whence: usize) -> Result<usize>;
|
||||
|
||||
fn sync(&mut self);
|
||||
|
||||
|
||||
@@ -209,7 +209,7 @@ impl Screen for TextScreen {
|
||||
Ok(buf.len())
|
||||
}
|
||||
|
||||
fn seek(&mut self, _pos: usize, _whence: usize) -> Result<usize> {
|
||||
fn seek(&mut self, _pos: isize, _whence: usize) -> Result<usize> {
|
||||
Ok(0)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user