Jiajie Chen
2c3a4d75dd
implement getaddr for netlink, ip l/ip a is working now
6 years ago
Jiajie Chen
a7a8c3aa92
implement getlink for netlink
6 years ago
Harry Chen
bb123add18
Eliminate multiple warnings, update user app repo
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Yuhao Zhou
fbc421ee4c
Fix trapframe size.
6 years ago
Harry Chen
a2e98d73fd
Extract serial driver and add mipssim board for mipsel
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Yuhao Zhou
3d083eec0c
Fix pgfault handler.
6 years ago
Yuhao Zhou
5e44304f74
Fix root page table ptr/buffer.
6 years ago
Yuhao Zhou
1f8b73744c
Disable multi-CPU.
6 years ago
Harry Chen
bb374ba4bd
Mock a Mutex for serial on thinpad
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Harry Chen
fedb53346a
Update mips crate
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Harry Chen
62fe4e5361
Update rust-mips crate
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Harry Chen
48864bd79b
Add more output to backtrace, revert fs change, update rust-mips
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Jiajie Chen
1f99f1270a
Implement recvmsg syscall for netlink
6 years ago
Harry Chen
d05c4cf09e
Merge branch 'mipsel' of github.com:oscourse-tsinghua/rcore_plus into mipsel
6 years ago
Harry Chen
b75e388aa1
Fix backtrace for mipsel
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Jiajie Chen
6335597897
Add netlink socket skeleton
6 years ago
Yuhao Zhou
6038004576
Add page table lookup in pagefault.
6 years ago
Harry Chen
6cc607e0c8
Make aarch64 and mipsel use img instead of qcow
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Yuhao Zhou
9a9e8048cb
Move text base to higher location to avoid colliding with qemu BIOS
6 years ago
Yuhao Zhou
fb08410cb5
Fix paging bug.
6 years ago
Harry Chen
6e2947ac56
Fix uart address definition on thinpad
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Harry Chen
96caa80914
Extract some board-specfic constants
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Yuhao Zhou
26a5847a0a
Merge branch 'mipsel' of github.com:oscourse-tsinghua/rcore_plus into mipsel
6 years ago
Yuhao Zhou
cbb4431231
Fix memory size.
6 years ago
Harry Chen
c3e94d38ae
Fix early uart on malta, now malta board can print things!
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Harry Chen
06f7b1643d
Fix makefile options for mipsel
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Harry Chen
f5227e28d3
Fix register naming in backtrace
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Yuhao Zhou
7c20ebf6e0
Remove dtb.S.
6 years ago
Yuhao Zhou
c9980f1efb
Fix context switch.
6 years ago
Harry Chen
1afacc4164
Fix AT register in context.S
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Harry Chen
65d6fb5b1e
Use gcc to pre-process mipsel assembly
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Yuhao Zhou
8ed6822636
Move context switch to context.S
6 years ago
Yuhao Zhou
747d5e2bee
Fix many errors.
6 years ago
Jiajie Chen
58932e0bee
Add uboot instructions
6 years ago
WangRunji
a712f37c65
update fs. support poll for INode.
6 years ago
Harry Chen
9f7f82a72d
Fix compilation errors in drivers
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
WangRunji
56cb8654ae
move E1000 driver to isomorphic_drivers crate
6 years ago
Yuhao Zhou
e8071b5d50
Fix a minor bug.
6 years ago
Yuhao Zhou
a10a7cafa1
Add interrupt dispatcher.
6 years ago
Yuhao Zhou
53317e84c4
Add context.
6 years ago
Jiajie Chen
ceff1ad609
Fix aarch64 backtrace
6 years ago
WangRunji
847664fda1
move AHCI driver to isomorphic_drivers crate
6 years ago
Jiajie Chen
a1ae2af269
Implement send for ixgbe
6 years ago
Yuhao Zhou
1fba79d26a
Fix a syntax error.
6 years ago
Yuhao Zhou
40e4d23c19
Merge branch 'mipsel' of github.com:oscourse-tsinghua/rcore_plus into mipsel
6 years ago
Yuhao Zhou
05f9327272
Update mips paging.rs.
6 years ago
Jiajie Chen
b0c9087f0f
Implement ioctl arp translation
6 years ago
Harry Chen
78b7c7b893
Fix syscall handling for mipsel, update user programs repo
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Jiajie Chen
55df9ca892
Initial support for ioctl SIOCGARP
6 years ago
Jiajie Chen
c944d2269d
Enable user to send to iface directly via packet socket
6 years ago
Jiajie Chen
77f8afa30c
Refactor network endpoint, and add basic support for sockaddr_ll
6 years ago
Jiajie Chen
f028823e5a
Assign different IP addresses for different nics
6 years ago
Jiajie Chen
d3a462e8a0
Implement hdrincl for raw socket
6 years ago
Jiajie Chen
025007c8bf
Upgrade rcore-thread for riscv fixes
6 years ago
Jiajie Chen
99bb25fa7d
Typo: bit_allocator => bitmap_allocator
6 years ago
WangRunji
b77a52dccb
move bit-allocator and rcore-thread crate to remote
6 years ago
WangRunji
c9a68634f5
simplify FdSet using bitvec crate
6 years ago
Harry Chen
f8a62b5549
Merge remote-tracking branch 'origin/master' into mipsel
6 years ago
Jiajie Chen
c99b7a1aed
Remove -machine ubuntu for newer version of QEMU
6 years ago
Harry Chen
8bc00324c8
Extract common framebuffer driver from aarch64
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Harry Chen
0acb65ff74
Add driver for thinpad
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Harry Chen
f394f0fccb
Add DTS for thinpad
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Harry Chen
6245d86a27
Move dts to board dir, fix some import error
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Harry Chen
015cc72aa4
Fix malta drivers
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Harry Chen
8dff9f1b14
Re-orgnize drivers for mipsel, extract FBConsole driver to common directory
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Harry Chen
85245c4e21
Finish serial initialization
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Harry Chen
4e3b2fb80f
Add support for 16550 serial controller
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Jiajie Chen
b4bd960a74
Map ixgbe to kernel space as well
6 years ago
Jiajie Chen
ee66451873
Map e1000 to kernel space addr as well and rename its iface
6 years ago
Jiajie Chen
66af7473eb
Do not use alloc::prelude
6 years ago
Jiajie Chen
ca45848028
Add extra_nic option
6 years ago
Jiajie Chen
4c528be778
Fix comment in AHCI
6 years ago
Harry Chen
2d5b6948b5
Pass dtb to driver, remove rv code in io
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Harry Chen
0a02315990
Add kernel stack for exception handling
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Harry Chen
4ddcdeb004
Complete DTS for qemu-malta
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Harry Chen
b6f1b3c926
Merge remote-tracking branch 'origin/master' into mipsel
6 years ago
Harry Chen
c496dd5778
Fix extra endif in Makefile
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Harry Chen
34c3d139a1
Modify linker script to mipsel arch, add dts in kernel binary
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Yuhao Zhou
d588a922ab
Fix some syntax errors.
6 years ago
WangRunji
05d714ff27
improve AHCI mod stage 2
6 years ago
Yuhao Zhou
bcff364b1a
Add exception handler for MIPS.
6 years ago
Yuhao Zhou
9bdac887f0
Remove SBI.
6 years ago
Yuhao Zhou
95b9fe5f5b
Add timer for mips.
6 years ago
Yuhao Zhou
cbb59d853b
Fix arch error in mips.
6 years ago
Yuhao Zhou
e53b3c16f6
Add interrupt for mips32 in crate::thread.
6 years ago
Yuhao Zhou
a78916c57e
Add MIPS target.
6 years ago
WangRunji
8d92b7b985
simplify AHCI mod stage 1
6 years ago
WangRunji
11c5609171
refactor PCI mod using pci crate
6 years ago
Jiajie Chen
d9bdaf9875
Fix AHCI not working on newer versions of QEMU
6 years ago
Jiajie Chen
3dff84c686
Fix last commit for pci device probing
6 years ago
Jiajie Chen
2da17d7fcd
Replace IDE with AHCI driver
6 years ago
Jiajie Chen
cbba658e22
Implement ATA IDENTIFY DEVICE via AHCI interface
6 years ago
Jiajie Chen
9831cae13c
Fix travis CI for riscv32
6 years ago
Jiajie Chen
236ddd0827
Move chmod to x86 specific syscall
6 years ago
Jiajie Chen
105ce6a794
Merge remote-tracking branch 'rcore/dev'
6 years ago
WangRunji
1ffd44cde0
HUGE REFACTOR net module
6 years ago
Jiajie Chen
311cf104f9
Many minor fixes to allow gcc to run inside rCore. Add some syscalls, fix SEEK_* and enlarge the heap
6 years ago
Jiajie Chen
524865ebd8
Implement sys_prlimit64 for nginx
6 years ago
WangRunji
c2a90e2ab1
update dependencies
6 years ago
WangRunji
b836b11792
reformat code using `cargo fmt`
6 years ago
Jiajie Chen
fe88f4f77f
Fix sys_readv not updating file offset
6 years ago
equation314
e4df6d6788
Fix bootloader build failure on aarch64
6 years ago
Jiajie Chen
10e883d56f
Fix mmap clashing with temporary map addr. Add riscv toolchains in travis CI
6 years ago
Jiajie Chen
fcfe677bcc
Fix makefile and loader NULL character stripping
6 years ago
Jiajie Chen
5c33191765
Implement automatic tests using kernel cmdline
6 years ago
WangRunji
dc19d38dc7
convert all C-style comments to Rust-style docs
6 years ago
WangRunji
01a0f961e9
remove remaining M-Mode & K210 code. improve docs in context.rs
6 years ago
WangRunji
6923efd250
fix last commit. improve process code.
6 years ago
Jiajie Chen
e3fb47a03e
Remove m-mode and k210 support.
6 years ago
WangRunji
fc584753c1
update crate x86_64 to v0.5, bootloader to v0.4
6 years ago
Jiajie Chen
adb66167f8
Fix a potential racing in Condvar
6 years ago
Jiajie Chen
7ee69db575
Silence sys_access and sys_chdir because rust sh use these now
6 years ago
Jiajie Chen
285ffc7618
Move absolute/relative path resolution to rcore-fs, implement dummy sys_fchown, sys_fchownat and sys_symlinkat
6 years ago
Jiajie Chen
48ebf98f11
Fix pop_with_split, check file existence in sys_access
6 years ago
Jiajie Chen
285df82b80
Fix qcow2, and add pci_passthru to MakeFile
...
Signed-off-by: Jiajie Chen <noc@jiegec.ac.cn>
6 years ago
Jiajie Chen
715faca0df
Use qcow2 instead of img for sfsimg
6 years ago
Jiajie Chen
556d263d8e
Implement sys_openat and sys_renameat
6 years ago
Jiajie Chen
0edfc07939
Allow page fault handler to bypass process lock and fix thread pool wakeup for exited process
6 years ago
Jiajie Chen
9f03bfc849
Add rand module for ip port randomization and use ethernet default mtu in ixgbe
6 years ago
Jiajie Chen
2fac6e9941
Dummy implementation for sys_statfs, sys_flock and sys_mount
6 years ago
Jiajie Chen
705505c543
Rearrange syscall order and implement dummy sys_fstatfs
6 years ago
Jiajie Chen
547baa9ecd
Implement symlink following
6 years ago
Jiajie Chen
0272aa1070
Implement sys_readlink and improve sys_mremap
6 years ago
Jiajie Chen
1444fb4c42
Respect INTERP loader command in ELF and load the interpreter instead
6 years ago
Jiajie Chen
08ba9261aa
Fix sys_mprotect with page alignment, dynamic loading seems working
6 years ago
Jiajie Chen
d285adf277
Fix last commit for exit_in_qemu
6 years ago
Jiajie Chen
b2585eb3bd
Fix last commit
6 years ago
Jiajie Chen
4e0c18914f
Implement sys_sendfile
6 years ago
WangRunji
638a2215b2
impl eager mmap file
6 years ago
WangRunji
5ddd5ece8d
rename, simplify
6 years ago
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
WangRunji
6d78206f77
impl finding free area for mmap
6 years ago
Jiajie Chen
dd61ce30ba
Implement reading pci memory address
6 years ago
Jiajie Chen
197bebb1d2
Implement pci bus probing and fix a bug in virtio_mmio
6 years ago
WangRunji
05310dcd7d
refactor GDT mod
6 years ago
WangRunji
4404982a55
impl sys_arch_prctl set fs
6 years ago
WangRunji
7a704673d7
save fsbase to TrapFrame on x86_64
6 years ago
WangRunji
a224e85c8d
split scheduler mod, make Scheduler Sync
...
biscuit: fix argc, argv
6 years ago
WangRunji
e678186b3d
support idle for rcore-thread, remove idle thread in kernel
6 years ago
WangRunji
fc98719559
impl sys_mmap for annonymous
6 years ago
WangRunji
6e8a0e20ab
fix device compile error, update crate pc_keyboard
6 years ago
WangRunji
08c8d89974
update SFS to new rcore-fs
6 years ago
WangRunji
ca45f8f152
fix check user ptr in syscalls
6 years ago
WangRunji
d26a1bc617
split syscall mod
6 years ago
WangRunji
2cf7e7bd87
fix File in Process
6 years ago
WangRunji
cf9ac9ccfd
split fs mod
6 years ago
WangRunji
7927c7c168
Merge branch 'thread' into biscuit
...
# Conflicts:
# kernel/src/process/mod.rs
# kernel/src/process/structs.rs
# kernel/src/syscall.rs
6 years ago
WangRunji
e1dacb28ef
auto open stdin/out/err for new proc. pass biscuit hello,cat,echo ...
6 years ago
WangRunji
c69386fbc2
add rcore-user submodule
6 years ago
WangRunji
67e8bef0f5
modify syscall ids to match Linux 64. fix fork file bug.
6 years ago
WangRunji
8a1a38853e
support 'syscall' instruction by handling invalid opcode exception
6 years ago