Jiajie Chen
abd93e49e3
Implement write_at for virtio_blk driver
6 years ago
Jiajie Chen
c7b34a7f72
Use enable_irq explicitly in ixgbe driver
6 years ago
WangRunji
cc6a069586
fix split absolute path
6 years ago
Jiajie Chen
f09290442c
Add pkttop.sh, bump user and drivers version
6 years ago
Jiajie Chen
6725ca10ab
Fix IXGBE driver with drop and update user with working userland networking
6 years ago
WangRunji
b9a7888290
update fs. impl sys_sync, sys_rmdir. fix sys_unlink.
6 years ago
Jiajie Chen
56f8f128ba
Fix ixgbe driver
6 years ago
Jiajie Chen
e3b7efbc94
Move ixgbe to isomorphic_drivers, and format driver codes
6 years ago
Jiajie Chen
c6be460228
Fix PCI driver detaching
6 years ago
Jiajie Chen
a0d9a8b2de
Detach driver from the device in sys_map_pci_driver
6 years ago
Jiajie Chen
960ef2e1f8
Implement PCI driver detach and merge NetDriver trait into Driver
6 years ago
Jiajie Chen
cf3b183311
Use jumbo frame in ixgbe
6 years ago
Jiajie Chen
fffc330f47
Fix u540 serial print and fix sys_accept
6 years ago
Jiajie Chen
7fd9130024
Add missing changeset in last commit
6 years ago
Jiajie Chen
5d601c3ea4
Move socket to global, move and merge functions to net/structs.rs
6 years ago
WangRunji
f6352b2688
fix serial interrupt on HiFiveU
6 years ago
Jiajie Chen
c4df7cd3af
Fix PCI MSI interrupt comment
6 years ago
WangRunji
442e1f4d0f
merge bbl crate to kernel
6 years ago
WangRunji
d9bb072cbd
update riscv crate
6 years ago
Jiajie Chen
edbf07f914
Add #[deny(warnings)] to syscall dispatch. See 17e644e54e
for discussion
6 years ago
Jiajie Chen
92d40fae61
Fix missing change in last commit
6 years ago
Jiajie Chen
0d2bc0a7d4
Implement irq allocation and use irq number to identify irq source
6 years ago
Jiajie Chen
c423f10483
Name ixgbe interfaces after systemd's and show link status change event
6 years ago
WangRunji
d0202c945e
test and fix something on HiFiveU
6 years ago
Jiajie Chen
f2362d26df
Disable pci interrupt temporary before we are able to read pci routing table
6 years ago
Jiajie Chen
b7f47235f8
Add support for PCI legacy interrupts
6 years ago
equation314
28ce8ba81c
update URL to new organization
6 years ago
Jiajie Chen
62d60d16e5
Fix sys_getcwd: return pointer to cwd
6 years ago
Jiajie Chen
2ada090430
Use buddy_system_allocator for a drop inreplacement for linked_list_allocator
6 years ago
WangRunji
6e7e9149ee
update URL to new organization
6 years ago
WangRunji
17e644e54e
unimportant changes
6 years ago
equation314
480bf0d14c
fix struct stat layout on non-x86 archs
6 years ago
equation314
eca05a1685
add non-x86 syscall ids
6 years ago
equation314
18626a2a19
Merge branch 'bootloader' into biscuit
6 years ago
WangRunji
5a619825bc
fix VGA and support keyboard escape char for rust/sh
6 years ago
Jiajie Chen
23b4c39ec7
Enlarge tcp send/recv buf for sys_accept() sockets
6 years ago
Jiajie Chen
755f820c41
Enable interrupt throttling, use spin before wait in sys_read and fix sys_bind, sys_poll for udp
6 years ago
WangRunji
c6c76147d6
impl custom syscall: sys_get_paddr
6 years ago
WangRunji
1c5effae04
move hard link user asm to Rust
6 years ago
Jiajie Chen
236c403f36
Enable ixgbe ip receive checksum
6 years ago
WangRunji
a3edd38046
fix VGA color on x86_64
6 years ago
WangRunji
e70cac58c8
refactor x86_64 VGA using console-traits crate
6 years ago
WangRunji
0f339fcbf8
fix compile on riscv
6 years ago
WangRunji
b304764fb5
fix VGA on x86_64
6 years ago
Jiajie Chen
0977814d34
Fix ixgbe and e1000 drivers by adding IFCS bit
6 years ago
Jiajie Chen
e7657356a2
Implement sys_map_pci_device call for mapping BAR into user space
6 years ago
Jiajie Chen
8860f1e4a3
Implement mapping from riscv to x86_64 syscall numbering
6 years ago
Jiajie Chen
cd23967f97
Fix riscv32 hartid saving
6 years ago
WangRunji
b8460e20d8
fix riscv syscall ABI. fix store user tp and kernel hartid
6 years ago
Jiajie Chen
a4c1d1231b
Use rust user shell instead of kernel shell and fix sys_exec
6 years ago
Jiajie Chen
543fb971ed
Fix input blocked when keyboard input is fast
6 years ago
Jiajie Chen
9dd576d6a1
Fix ixgbe transmitting
6 years ago
Jiajie Chen
e1bcbe7eb2
Initial ixgbe driver with transitting
6 years ago
Jiajie Chen
71808b49f5
Initial ixgbe driver capable of receiving frames
6 years ago
Jiajie Chen
a6bb042bd9
Support zero timeout in sys_select. Improve e1000 driver speed
6 years ago
Jiajie Chen
02a40b359b
Only remap device memory region lazily
6 years ago
Jiajie Chen
af63d937d6
Add udp remote endpoint state
6 years ago
Jiajie Chen
33ce72703b
Enlarge tcp send/recv buf, implement getsockopt for send/recv buf and add spin_and_wait
6 years ago
WangRunji
40ac510ecd
fix compile on riscv & aarch64
6 years ago
jiegec
09588d7a1f
Fix Sockaddr, implement sys_rusage and fix readv
6 years ago
equation314
681c0be801
aarch64: fix the potential memory overlapping bug of bootloader
6 years ago
Jiajie Chen
b7aee438db
Fix sys_kill and add killtest
6 years ago
Jiajie Chen
17c08ce26c
Fix sys_exit/sys_exit_group deadlock
6 years ago
Jiajie Chen
8dc7c7bd3c
Implement sys_reboot with isa-debug-exit and add test script using expect
6 years ago
WangRunji
9269a9856d
support fast syscall
6 years ago
WangRunji
98b3b12c96
continue refactoring process
6 years ago
Jiajie Chen
8cb11b7aa8
Implement tid/pid/ppid separation
6 years ago
Jiajie Chen
82457be2ec
Make time syscall more rustful
6 years ago
Jiajie Chen
cb0a51d28d
Use union to implement sockaddr, and eliminate many warnings
6 years ago
Jiajie Chen
d041884cc2
Fix sys_accept deadlock
6 years ago
Jiajie Chen
6697861860
Add is_listening to TcpSocketState, support sys_poll for listen
6 years ago
Jiajie Chen
6ed66d03d8
Fix sys_pipe
6 years ago
Jiajie Chen
d0d05acfd0
Implement Clone for SocketWrapper
6 years ago
equation314
f3d47f4b02
aarch64: move crate bcm2837 to remote
6 years ago
equation314
68b967b48e
aarch64: move crate `atags` into crate `bcm2837`
6 years ago
equation314
279f983786
aarch64: put the kernel in the top VA range
6 years ago
WangRunji
84c12ae6e1
rename functions. ignore readonly in mmap to avoid page fault.
6 years ago
WangRunji
ab63c933c2
fix sys_nanosleep
6 years ago
WangRunji
491353acfd
impl sys_futex. fix clear_child_tid for thread exit
6 years ago
WangRunji
84b2af3cdb
refactor sys_close_internal to SocketWrapper::drop
6 years ago
Jiajie Chen
1645451749
Implement memory_set splitting for munmap, add sys_sysinfo
6 years ago
WangRunji
dc55238989
fix sys_clone newtls
6 years ago
WangRunji
d51c52902d
minimal impl sys_clone
6 years ago
WangRunji
c3563192b5
fix SysResult::Ok(isize -> usize)
6 years ago
Jiajie Chen
b590545375
Implement sys_pwrite, sys_accept4 and dummy sys_chown, sys_epoll_create1. Allow recvfrom for tcp
6 years ago
WangRunji
fdc28724a3
fix sys_wait -1. update fs.
6 years ago
Jiajie Chen
0666a5a7ee
Implement sys_clock_gettime
6 years ago
Jiajie Chen
35dad6853f
Enable SSE and save FP registers in trapframe, implement sys_pread, sys_uname and sys_sched_getaffinity, support FIXED in mmap
6 years ago
WangRunji
f7f740a021
remove TLS setup code. fix check writable memory
6 years ago
Jiajie Chen
84e07a6d83
Implement sys_mprotect and move attr setting from page_fault_handler to map in Delay
6 years ago
Jiajie Chen
8809c6ca7f
Improve sys_wait and replace CR with LF
6 years ago
equation314
0e38439fb8
aarch64: enable MMU in bootloader
6 years ago
Jiajie Chen
6e7dc9e349
Minor fixes around thread pool, writev, fs and implement gettid
6 years ago
Jiajie Chen
2d77b89476
Infer phdr from elf loading address, skip the first page in sys_mmap and update user to musl-enabled biscuit programs
6 years ago
Jiajie Chen
cca53536d1
Implement sys_pipe, fix sys_chdir, add dummy sys_setuid, and set an ephermal port when binding port 0
6 years ago
Jiajie Chen
bf5e176176
Implement sys_shutdown
6 years ago
Jiajie Chen
026ee459ec
Fix sys_poll, implement sys_getpeername and dummy sys_access
6 years ago
WangRunji
bc6818e365
minor improvement of net syscalls
6 years ago
Jiajie Chen
a1576b12ad
Fix dup2 socket ref count and sys_accept, close sockets on sys_exit
6 years ago
Jiajie Chen
c5aa5922bd
Fix forking and sys_dup2, implement sys_getsockopt and update sys_exec
6 years ago
Jiajie Chen
781630e06d
Implement sys_select and nc is working
6 years ago
Jiajie Chen
8b9aecca1c
Fix a potential racing in park() and unpark(), fix sys_poll for a running telnet
6 years ago
WangRunji
9e6483f488
refactor driver: make (Net)Driver Sync. may help avoid deadlock?
6 years ago
WangRunji
1f2625e565
minor improvement of sys_poll
6 years ago
Jiajie Chen
42b02453a0
Implement basic version of sys_poll supporting stdin and socket, fix some deadlocks and introduce some others
6 years ago
Jiajie Chen
2683314c38
Allocate pages eagerly for Delay when forking. Implement sys_getsockname.
6 years ago
Jiajie Chen
3e6860ae8a
Fix lookup_inode for absolute path, and implement sys_accept for tcp
6 years ago
Jiajie Chen
a51b9dbd90
Implement tls setup code(not working yet), tcp sys_bind and sys_connect
6 years ago
equation314
8bb1e65ba7
load kernel elf in bootloader
6 years ago
Jiajie Chen
82e273df58
Implement sys_read for tcp
6 years ago
Jiajie Chen
0cf57be9e5
Tftp client is working by implement udp in some syscalls
6 years ago
Jiajie Chen
dcb1b51a5f
Improve time-related syscall precision and add some comment for MSI
6 years ago
Jiajie Chen
c6c89198cd
Add cmos rtc driver for x86
6 years ago
Jiajie Chen
1a1e39c960
Move socket set to iface, redesign NetDriver trait and implement blocking net syscalls
6 years ago
equation314
b94ba7759e
add aarch64 bootloader framework
6 years ago
WangRunji
738554386b
introduce VMError to simplify EFAULT error handling
6 years ago
Jiajie Chen
68167efd45
Merge remote-tracking branch 'origin/biscuit' into biscuit
6 years ago
Jiajie Chen
81176e5561
Implement raw socket for ping and add SocketWrapper struct
6 years ago
WangRunji
0fd24ff92e
impl sys_f(data)sync, sys_(f)truncate, sys_(un)link
6 years ago
WangRunji
451fe6b192
impl sys_chdir, sys_rename, sys_mkdir
6 years ago
WangRunji
2a6c4554d1
Merge remote-tracking branch 'course/biscuit' into biscuit
6 years ago
Jiajie Chen
687caf804d
Implement sys_getcwd
6 years ago
Jiajie Chen
e543449836
Implement basic version of sys_munmap and sys_time
6 years ago
WangRunji
a979b6b5ec
impl sys_getppid. fix checking pointer for process syscalls
6 years ago
WangRunji
132bc629fa
fix bad address error code to EFAULT
6 years ago
WangRunji
472dac5d09
fix sys_getdent64. pass ls in coreutils & busybox
6 years ago
WangRunji
b66c8811d1
update bootloader to fix multi-core boot bug on x86_64
6 years ago
WangRunji
8ab991ebe1
remove global ActivePageTable, because it's CPU local
6 years ago
Jiajie Chen
d8345e96c7
Fix typo
6 years ago
Jiajie Chen
d9e05012f0
Implement socket sys_close
6 years ago
WangRunji
1b104029ce
tiny refactor: convert 'get_file' & 'get_socket' to method
6 years ago
Jiajie Chen
6ea04c91b2
Fix line editing bug
6 years ago
Jiajie Chen
29865d7aaa
Add line editing function to user shell and refactor net syscall
6 years ago
Jiajie Chen
6124cd60fc
Add basic implementation for syscall: connect and write
6 years ago
Jiajie Chen
984df11971
Merge remote-tracking branch 'origin/biscuit' into biscuit
6 years ago
Jiajie Chen
71336aca5c
Redesign NetDriver trait and update drivers
6 years ago
WangRunji
344a537684
fix SysError to match Linux error code
6 years ago
Jiajie Chen
36292e6fcd
Add dummy implementations for more syscalls
6 years ago
WangRunji
c7f9921e06
support TLS for musl. partial impl sys_exit_group.
6 years ago
WangRunji
f76374000e
fix x86_64 syscall register (r10)
6 years ago
equation314
7a278cd421
Merge branch 'master' into biscuit
6 years ago
equation314
50a8de35bc
aarch64: save current TTBR1_EL1 in context switch
...
fixed a bug: when the context switch occurs in InactivePageTable::edit() or InactivePageTable::with() which modify TTBR1_EL1 temporarily, TTBR1_EL1 can be restored to the unmodified value after context switch.
6 years ago
Jiajie Chen
671b7c7b54
Implement backtrace support for x86_64
6 years ago
Jiajie Chen
6f1953b977
Add document for e1000 driver
6 years ago
Jiajie Chen
af9a978a9d
Fix a bug in e1000 driver, run net thread and update Makefile
6 years ago
Jiajie Chen
7a3c66a923
Receiving from e1000 driver works
6 years ago
WangRunji
85ae4b1ba1
impl sys_stat, sys_readv, sys_writev. not tested yet
6 years ago
WangRunji
4e146ec491
impl sys_lseek
6 years ago
WangRunji
70a950bf40
fix struct stat to match Linux ABI
6 years ago
WangRunji
cab19688d5
rename File to FileHandle. impl create for sys_open.
6 years ago