Skip to content

Commit ca5c63b

Browse files
userland: cleanup
* delete aero_shell, utest and utest_proc * delete all the syscall wrappers around syscalls in aero_syscall except ipc() syscalls * fix some clippy issues * update copyright in updated files Signed-off-by: Anhad Singh <[email protected]>
1 parent 8fe13d7 commit ca5c63b

File tree

14 files changed

+108
-1381
lines changed

14 files changed

+108
-1381
lines changed

src/aero_syscall/src/lib.rs

Lines changed: 22 additions & 343 deletions
Original file line numberDiff line numberDiff line change
@@ -481,191 +481,39 @@ pub fn isize_as_syscall_result(value: isize) -> Result<usize, SyscallError> {
481481
}
482482
}
483483

484-
pub fn sys_exit(status: usize) -> ! {
485-
syscall1(prelude::SYS_EXIT, status);
486-
unreachable!()
487-
}
488-
489-
pub fn sys_open(path: &str, mode: OpenFlags) -> Result<usize, SyscallError> {
490-
let value = syscall4(
491-
prelude::SYS_OPEN,
492-
0x00,
493-
path.as_ptr() as usize,
494-
path.len(),
495-
mode.bits(),
496-
);
497-
498-
isize_as_syscall_result(value as _)
499-
}
500-
501-
pub fn sys_write(fd: usize, buf: &[u8]) -> Result<usize, SyscallError> {
502-
let value = syscall3(prelude::SYS_WRITE, fd, buf.as_ptr() as usize, buf.len());
503-
isize_as_syscall_result(value as _)
504-
}
505-
506-
pub fn sys_read(fd: usize, buf: &mut [u8]) -> Result<usize, SyscallError> {
507-
let value = syscall3(prelude::SYS_READ, fd, buf.as_mut_ptr() as usize, buf.len());
508-
isize_as_syscall_result(value as _)
509-
}
510-
511-
pub fn sys_chdir(path: &str) -> Result<usize, SyscallError> {
512-
let value = syscall2(prelude::SYS_CHDIR, path.as_ptr() as usize, path.len());
513-
isize_as_syscall_result(value as _)
514-
}
515-
516-
pub fn sys_close(fd: usize) -> Result<usize, SyscallError> {
517-
let value = syscall1(prelude::SYS_CLOSE, fd);
518-
isize_as_syscall_result(value as _)
519-
}
520-
521-
pub fn sys_getcwd(buf: &mut [u8]) -> Result<usize, SyscallError> {
522-
let value = syscall2(prelude::SYS_GETCWD, buf.as_mut_ptr() as usize, buf.len());
523-
isize_as_syscall_result(value as _)
524-
}
525-
526-
pub fn sys_getdents(fd: usize, buf: &mut [u8]) -> Result<usize, SyscallError> {
527-
let value = syscall3(
528-
prelude::SYS_GETDENTS,
529-
fd,
530-
buf.as_mut_ptr() as usize,
531-
buf.len(),
532-
);
533-
534-
isize_as_syscall_result(value as _)
535-
}
536-
537-
pub fn sys_fork() -> Result<usize, SyscallError> {
538-
let value = syscall0(prelude::SYS_FORK);
539-
isize_as_syscall_result(value as _)
540-
}
541-
542-
pub fn sys_munmap(address: usize, size: usize) -> Result<usize, SyscallError> {
543-
let value = syscall2(prelude::SYS_MUNMAP, address, size);
544-
isize_as_syscall_result(value as _)
545-
}
546-
547-
pub fn sys_mkdir(path: &str) -> Result<usize, SyscallError> {
548-
let value = syscall2(prelude::SYS_MKDIR, path.as_ptr() as usize, path.len());
549-
isize_as_syscall_result(value as _)
550-
}
551-
552-
pub fn sys_log(message: &str) -> Result<usize, SyscallError> {
553-
let value = syscall2(prelude::SYS_LOG, message.as_ptr() as usize, message.len());
554-
isize_as_syscall_result(value as _)
555-
}
556-
557-
pub fn sys_mkdirat(dfd: isize, path: &str) -> Result<usize, SyscallError> {
558-
let value = syscall3(
559-
prelude::SYS_MKDIR_AT,
560-
dfd as usize,
561-
path.as_ptr() as usize,
562-
path.len(),
563-
);
564-
565-
isize_as_syscall_result(value as _)
566-
}
567-
568-
pub fn sys_exec(path: &str, argv: &[&str], envv: &[&str]) -> Result<usize, SyscallError> {
569-
let value = syscall6(
570-
prelude::SYS_EXEC,
571-
path.as_ptr() as usize,
572-
path.len(),
573-
argv.as_ptr() as usize,
574-
argv.len(),
575-
envv.as_ptr() as usize,
576-
envv.len(),
577-
);
578-
579-
isize_as_syscall_result(value as _)
580-
}
581-
582-
pub fn sys_rmdir(path: &str) -> Result<usize, SyscallError> {
583-
let value = syscall2(prelude::SYS_RMDIR, path.as_ptr() as usize, path.len());
584-
isize_as_syscall_result(value as _)
585-
}
586-
587-
pub fn sys_uname(struc: &mut Utsname) -> Result<usize, SyscallError> {
588-
let value = syscall1(prelude::SYS_UNAME, struc as *mut Utsname as usize);
589-
isize_as_syscall_result(value as _)
590-
}
591-
592-
pub fn sys_shutdown() -> ! {
593-
syscall0(prelude::SYS_SHUTDOWN);
594-
unreachable!()
595-
}
596-
597-
pub fn sys_access(fd: usize, path: &str) -> Result<usize, SyscallError> {
598-
let value = syscall5(
599-
prelude::SYS_ACCESS,
600-
fd,
601-
path.as_ptr() as usize,
602-
path.len(),
603-
0,
604-
0,
605-
);
606-
607-
isize_as_syscall_result(value as _)
608-
}
609-
610-
pub fn sys_waitpid(pid: usize, status: &mut u32, flags: usize) -> Result<usize, SyscallError> {
484+
pub fn sys_ipc_send(pid: usize, message: &[u8]) -> Result<(), SyscallError> {
611485
let value = syscall3(
612-
prelude::SYS_WAITPID,
486+
prelude::SYS_IPC_SEND,
613487
pid,
614-
status as *mut u32 as usize,
615-
flags,
488+
message.as_ptr() as usize,
489+
message.len(),
616490
);
617-
618-
isize_as_syscall_result(value as _)
619-
}
620-
621-
pub fn sys_ioctl(fd: usize, command: usize, arg: usize) -> Result<usize, SyscallError> {
622-
let value = syscall3(prelude::SYS_IOCTL, fd, command, arg);
623-
isize_as_syscall_result(value as _)
491+
isize_as_syscall_result(value as _).map(|_| ())
624492
}
625493

626-
pub fn sys_mmap(
627-
address: usize,
628-
size: usize,
629-
protection: MMapProt,
630-
flags: MMapFlags,
631-
fd: usize,
632-
offset: usize,
633-
) -> Result<usize, SyscallError> {
634-
let value = syscall6(
635-
prelude::SYS_MMAP,
636-
address,
637-
size,
638-
protection.bits(),
639-
flags.bits(),
640-
fd,
641-
offset,
494+
pub fn sys_ipc_recv<'a>(
495+
pid: &mut usize,
496+
message: &'a mut [u8],
497+
block: bool,
498+
) -> Result<&'a mut [u8], SyscallError> {
499+
let value = syscall4(
500+
prelude::SYS_IPC_RECV,
501+
pid as *mut usize as usize,
502+
message.as_ptr() as usize,
503+
message.len(),
504+
block as usize,
642505
);
643-
644-
isize_as_syscall_result(value as _)
645-
}
646-
647-
pub fn sys_getpid() -> Result<usize, SyscallError> {
648-
let value = syscall0(prelude::SYS_GETPID);
649-
isize_as_syscall_result(value as _)
650-
}
651-
652-
pub fn sys_gettid() -> Result<usize, SyscallError> {
653-
let value = syscall0(prelude::SYS_GETTID);
654-
isize_as_syscall_result(value as _)
506+
isize_as_syscall_result(value as _).map(|size| &mut message[0..size])
655507
}
656508

657-
pub fn sys_gethostname(buf: &mut [u8]) -> Result<usize, SyscallError> {
658-
let value = syscall2(
659-
prelude::SYS_GETHOSTNAME,
660-
buf.as_mut_ptr() as usize,
661-
buf.len(),
662-
);
509+
pub fn sys_ipc_discover_root() -> Result<usize, SyscallError> {
510+
let value = syscall0(prelude::SYS_IPC_DISCOVER_ROOT);
663511
isize_as_syscall_result(value as _)
664512
}
665513

666-
pub fn sys_sethostname(name: &str) -> Result<usize, SyscallError> {
667-
let value = syscall2(prelude::SYS_SETHOSTNAME, name.as_ptr() as usize, name.len());
668-
isize_as_syscall_result(value as _)
514+
pub fn sys_ipc_become_root() -> Result<(), SyscallError> {
515+
let value = syscall0(prelude::SYS_IPC_BECOME_ROOT);
516+
isize_as_syscall_result(value as _).map(|_| ())
669517
}
670518

671519
// Sockets
@@ -789,159 +637,6 @@ pub const AF_UNSPEC: u32 = PF_UNSPEC;
789637
pub const AF_NETLINK: u32 = PF_NETLINK;
790638
pub const AF_BRIDGE: u32 = PF_BRIDGE;
791639

792-
pub fn sys_socket(
793-
domain: usize,
794-
socket_type: usize,
795-
protocol: usize,
796-
) -> Result<usize, SyscallError> {
797-
let value = syscall3(prelude::SYS_SOCKET, domain, socket_type, protocol);
798-
isize_as_syscall_result(value as _)
799-
}
800-
801-
pub fn sys_listen(fd: usize, backlog: usize) -> Result<usize, SyscallError> {
802-
let value = syscall2(prelude::SYS_LISTEN, fd, backlog);
803-
isize_as_syscall_result(value as _)
804-
}
805-
806-
pub fn sys_unlink(fd: usize, path: &str, flags: OpenFlags) -> Result<usize, SyscallError> {
807-
let value = syscall4(
808-
prelude::SYS_UNLINK,
809-
fd,
810-
path.as_ptr() as usize,
811-
path.len(),
812-
flags.bits(),
813-
);
814-
815-
isize_as_syscall_result(value as _)
816-
}
817-
818-
pub fn sys_gettime(clock: usize, timespec: &mut TimeSpec) -> Result<usize, SyscallError> {
819-
let value = syscall2(prelude::SYS_GETTIME, clock, timespec as *mut _ as usize);
820-
isize_as_syscall_result(value as _)
821-
}
822-
823-
pub fn sys_seek(fd: usize, offset: usize, whence: SeekWhence) -> Result<usize, SyscallError> {
824-
let value = syscall3(prelude::SYS_SEEK, fd, offset, whence as usize);
825-
isize_as_syscall_result(value as _)
826-
}
827-
828-
pub fn sys_sleep(timespec: &TimeSpec) -> Result<usize, SyscallError> {
829-
let value = syscall1(prelude::SYS_SLEEP, timespec as *const _ as usize);
830-
isize_as_syscall_result(value as _)
831-
}
832-
833-
pub fn sys_pipe(fds: &mut [usize; 2], flags: OpenFlags) -> Result<usize, SyscallError> {
834-
let value = syscall2(prelude::SYS_PIPE, fds.as_ptr() as usize, flags.bits());
835-
isize_as_syscall_result(value as _)
836-
}
837-
838-
pub fn sys_info(struc: &mut SysInfo) -> Result<usize, SyscallError> {
839-
let value = syscall1(prelude::SYS_INFO, struc as *mut _ as usize);
840-
isize_as_syscall_result(value as _)
841-
}
842-
843-
pub fn sys_clone(entry: usize, stack: usize) -> Result<usize, SyscallError> {
844-
let value = syscall2(prelude::SYS_CLONE, entry, stack);
845-
isize_as_syscall_result(value as _)
846-
}
847-
848-
pub fn sys_sigreturn() -> Result<usize, SyscallError> {
849-
let value = syscall0(prelude::SYS_SIGRETURN);
850-
isize_as_syscall_result(value as _)
851-
}
852-
853-
pub fn sys_sigaction(
854-
sig: usize,
855-
sigaction: Option<&signal::SigAction>,
856-
old_sigaction: Option<&mut signal::SigAction>,
857-
) -> Result<usize, SyscallError> {
858-
let sigact = sigaction;
859-
860-
let value = syscall4(
861-
prelude::SYS_SIGACTION,
862-
sig,
863-
sigact
864-
.map(|f| f as *const signal::SigAction as usize)
865-
.unwrap_or(0),
866-
sys_sigreturn as usize,
867-
old_sigaction
868-
.map(|f| f as *mut signal::SigAction as usize)
869-
.unwrap_or(0),
870-
);
871-
872-
isize_as_syscall_result(value as _)
873-
}
874-
875-
pub fn sys_sigprocmask(
876-
how: signal::SigProcMask,
877-
set: &mut u64,
878-
old_set: Option<&mut u64>,
879-
) -> Result<usize, SyscallError> {
880-
let old_set = match old_set {
881-
Some(e) => e as *const u64 as usize,
882-
None => 0,
883-
};
884-
885-
let value = syscall3(
886-
prelude::SYS_SIGPROCMASK,
887-
how as usize,
888-
set as *const u64 as usize,
889-
old_set,
890-
);
891-
892-
isize_as_syscall_result(value as _)
893-
}
894-
895-
pub fn sys_dup(fd: usize, flags: OpenFlags) -> Result<usize, SyscallError> {
896-
let value = syscall2(prelude::SYS_DUP, fd, flags.bits());
897-
isize_as_syscall_result(value as _)
898-
}
899-
900-
pub fn sys_fcntl(fd: usize, command: usize, argument: usize) -> Result<usize, SyscallError> {
901-
let value = syscall3(prelude::SYS_FCNTL, fd, command, argument);
902-
isize_as_syscall_result(value as _)
903-
}
904-
905-
pub fn sys_dup2(fd: usize, new_fd: usize, flags: OpenFlags) -> Result<usize, SyscallError> {
906-
let value = syscall3(prelude::SYS_DUP2, fd, new_fd, flags.bits());
907-
isize_as_syscall_result(value as _)
908-
}
909-
910-
pub fn sys_ipc_send(pid: usize, message: &[u8]) -> Result<(), SyscallError> {
911-
let value = syscall3(
912-
prelude::SYS_IPC_SEND,
913-
pid,
914-
message.as_ptr() as usize,
915-
message.len(),
916-
);
917-
isize_as_syscall_result(value as _).map(|_| ())
918-
}
919-
920-
pub fn sys_ipc_recv<'a>(
921-
pid: &mut usize,
922-
message: &'a mut [u8],
923-
block: bool,
924-
) -> Result<&'a mut [u8], SyscallError> {
925-
let value = syscall4(
926-
prelude::SYS_IPC_RECV,
927-
pid as *mut usize as usize,
928-
message.as_ptr() as usize,
929-
message.len(),
930-
block as usize,
931-
);
932-
isize_as_syscall_result(value as _).map(|size| &mut message[0..size])
933-
}
934-
935-
pub fn sys_ipc_discover_root() -> Result<usize, SyscallError> {
936-
let value = syscall0(prelude::SYS_IPC_DISCOVER_ROOT);
937-
isize_as_syscall_result(value as _)
938-
}
939-
940-
pub fn sys_ipc_become_root() -> Result<(), SyscallError> {
941-
let value = syscall0(prelude::SYS_IPC_BECOME_ROOT);
942-
isize_as_syscall_result(value as _).map(|_| ())
943-
}
944-
945640
// sysdeps/aero/include/abi-bits/stat.h
946641
bitflags::bitflags! {
947642
#[derive(Default)]
@@ -995,19 +690,3 @@ pub struct Stat {
995690
pub st_blksize: u64,
996691
pub st_blocks: u64,
997692
}
998-
999-
pub fn sys_stat(path: &str, stat: &mut Stat) -> Result<usize, SyscallError> {
1000-
let value = syscall3(
1001-
prelude::SYS_STAT,
1002-
path.as_ptr() as usize,
1003-
path.len(),
1004-
stat as *mut Stat as usize,
1005-
);
1006-
1007-
isize_as_syscall_result(value as _)
1008-
}
1009-
1010-
pub fn sys_fstat(fd: usize, stat: &mut Stat) -> Result<usize, SyscallError> {
1011-
let value = syscall2(prelude::SYS_FSTAT, fd, stat as *mut Stat as usize);
1012-
isize_as_syscall_result(value as _)
1013-
}

0 commit comments

Comments
 (0)