Jiajie Chen
99bb25fa7d
Typo: bit_allocator => bitmap_allocator
2019-04-04 13:02:57 +08:00
WangRunji
b77a52dccb
move bit-allocator and rcore-thread crate to remote
2019-04-04 12:45:55 +08:00
WangRunji
c9a68634f5
simplify FdSet using bitvec crate
2019-04-04 11:46:50 +08:00
Harry Chen
f8a62b5549
Merge remote-tracking branch 'origin/master' into mipsel
2019-04-04 00:31:59 +08:00
Jiajie Chen
c99b7a1aed
Remove -machine ubuntu for newer version of QEMU
2019-04-04 00:16:27 +08:00
Harry Chen
8bc00324c8
Extract common framebuffer driver from aarch64
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-04 00:10:18 +08:00
Harry Chen
0acb65ff74
Add driver for thinpad
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-03 16:58:52 +08:00
Harry Chen
f394f0fccb
Add DTS for thinpad
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-03 16:50:45 +08:00
Harry Chen
6245d86a27
Move dts to board dir, fix some import error
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-03 15:52:34 +08:00
Harry Chen
015cc72aa4
Fix malta drivers
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-03 13:53:34 +08:00
Harry Chen
8dff9f1b14
Re-orgnize drivers for mipsel, extract FBConsole driver to common directory
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-03 12:07:58 +08:00
Harry Chen
85245c4e21
Finish serial initialization
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-03 08:46:22 +08:00
Harry Chen
4e3b2fb80f
Add support for 16550 serial controller
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-02 16:52:36 +08:00
Jiajie Chen
b4bd960a74
Map ixgbe to kernel space as well
2019-04-02 10:50:33 +08:00
Jiajie Chen
ee66451873
Map e1000 to kernel space addr as well and rename its iface
2019-04-02 10:24:18 +08:00
Jiajie Chen
66af7473eb
Do not use alloc::prelude
2019-04-02 08:52:13 +08:00
Jiajie Chen
ca45848028
Add extra_nic option
2019-04-02 08:27:02 +08:00
Jiajie Chen
4c528be778
Fix comment in AHCI
2019-04-02 08:12:26 +08:00
Harry Chen
2d5b6948b5
Pass dtb to driver, remove rv code in io
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-02 01:59:50 +08:00
Harry Chen
0a02315990
Add kernel stack for exception handling
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-02 01:41:48 +08:00
Harry Chen
4ddcdeb004
Complete DTS for qemu-malta
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-02 01:07:08 +08:00
Harry Chen
b6f1b3c926
Merge remote-tracking branch 'origin/master' into mipsel
2019-04-01 23:32:30 +08:00
Harry Chen
c496dd5778
Fix extra endif in Makefile
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-01 23:29:50 +08:00
Harry Chen
34c3d139a1
Modify linker script to mipsel arch, add dts in kernel binary
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-01 23:07:49 +08:00
Yuhao Zhou
d588a922ab
Fix some syntax errors.
2019-04-01 22:36:12 +08:00
WangRunji
05d714ff27
improve AHCI mod stage 2
2019-04-01 16:15:58 +08:00
Yuhao Zhou
bcff364b1a
Add exception handler for MIPS.
2019-04-01 15:12:17 +08:00
Yuhao Zhou
9bdac887f0
Remove SBI.
2019-04-01 12:05:22 +08:00
Yuhao Zhou
95b9fe5f5b
Add timer for mips.
2019-04-01 11:53:20 +08:00
Yuhao Zhou
cbb59d853b
Fix arch error in mips.
2019-04-01 11:37:14 +08:00
Yuhao Zhou
e53b3c16f6
Add interrupt for mips32 in crate::thread.
2019-03-31 23:31:37 +08:00
Yuhao Zhou
a78916c57e
Add MIPS target.
2019-03-31 22:04:22 +08:00
WangRunji
8d92b7b985
simplify AHCI mod stage 1
2019-03-31 00:58:50 +08:00
WangRunji
11c5609171
refactor PCI mod using pci crate
2019-03-30 23:48:33 +08:00
Jiajie Chen
d9bdaf9875
Fix AHCI not working on newer versions of QEMU
2019-03-30 16:03:16 +08:00
Jiajie Chen
3dff84c686
Fix last commit for pci device probing
2019-03-30 10:14:46 +08:00
Jiajie Chen
2da17d7fcd
Replace IDE with AHCI driver
2019-03-30 10:03:08 +08:00
Jiajie Chen
cbba658e22
Implement ATA IDENTIFY DEVICE via AHCI interface
2019-03-30 00:06:27 +08:00
Jiajie Chen
9831cae13c
Fix travis CI for riscv32
2019-03-29 15:19:40 +08:00
Jiajie Chen
236ddd0827
Move chmod to x86 specific syscall
2019-03-29 13:51:31 +08:00
Jiajie Chen
105ce6a794
Merge remote-tracking branch 'rcore/dev'
2019-03-29 13:37:20 +08:00
WangRunji
1ffd44cde0
HUGE REFACTOR net module
2019-03-29 13:23:49 +08:00
Jiajie Chen
311cf104f9
Many minor fixes to allow gcc to run inside rCore. Add some syscalls, fix SEEK_* and enlarge the heap
2019-03-29 13:14:08 +08:00
Jiajie Chen
524865ebd8
Implement sys_prlimit64 for nginx
2019-03-27 21:39:44 +08:00
WangRunji
c2a90e2ab1
update dependencies
2019-03-27 18:45:24 +08:00
WangRunji
b836b11792
reformat code using cargo fmt
2019-03-27 18:45:24 +08:00
Jiajie Chen
fe88f4f77f
Fix sys_readv not updating file offset
2019-03-27 18:38:42 +08:00
equation314
e4df6d6788
Fix bootloader build failure on aarch64
2019-03-27 12:08:02 +08:00
Jiajie Chen
10e883d56f
Fix mmap clashing with temporary map addr. Add riscv toolchains in travis CI
2019-03-26 17:33:32 +08:00
Jiajie Chen
fcfe677bcc
Fix makefile and loader NULL character stripping
2019-03-26 16:50:21 +08:00
Jiajie Chen
5c33191765
Implement automatic tests using kernel cmdline
2019-03-26 16:05:21 +08:00
WangRunji
dc19d38dc7
convert all C-style comments to Rust-style docs
2019-03-26 13:49:52 +08:00
WangRunji
01a0f961e9
remove remaining M-Mode & K210 code. improve docs in context.rs
2019-03-26 13:36:19 +08:00
WangRunji
6923efd250
fix last commit. improve process code.
2019-03-26 11:23:58 +08:00
Jiajie Chen
e3fb47a03e
Remove m-mode and k210 support.
2019-03-26 08:28:10 +08:00
WangRunji
fc584753c1
update crate x86_64 to v0.5, bootloader to v0.4
2019-03-25 18:13:43 +08:00
Jiajie Chen
adb66167f8
Fix a potential racing in Condvar
2019-03-24 23:53:09 +08:00
Jiajie Chen
7ee69db575
Silence sys_access and sys_chdir because rust sh use these now
2019-03-24 19:10:33 +08:00
Jiajie Chen
285ffc7618
Move absolute/relative path resolution to rcore-fs, implement dummy sys_fchown, sys_fchownat and sys_symlinkat
2019-03-24 18:25:13 +08:00
Jiajie Chen
48ebf98f11
Fix pop_with_split, check file existence in sys_access
2019-03-24 16:25:32 +08:00
Jiajie Chen
285df82b80
Fix qcow2, and add pci_passthru to MakeFile
...
Signed-off-by: Jiajie Chen <noc@jiegec.ac.cn>
2019-03-24 01:29:03 +08:00
Jiajie Chen
715faca0df
Use qcow2 instead of img for sfsimg
2019-03-24 00:49:48 +08:00
Jiajie Chen
556d263d8e
Implement sys_openat and sys_renameat
2019-03-24 00:36:13 +08:00
Jiajie Chen
0edfc07939
Allow page fault handler to bypass process lock and fix thread pool wakeup for exited process
2019-03-23 23:50:30 +08:00
Jiajie Chen
9f03bfc849
Add rand module for ip port randomization and use ethernet default mtu in ixgbe
2019-03-23 18:23:02 +08:00
Jiajie Chen
2fac6e9941
Dummy implementation for sys_statfs, sys_flock and sys_mount
2019-03-23 16:25:46 +08:00
Jiajie Chen
705505c543
Rearrange syscall order and implement dummy sys_fstatfs
2019-03-23 16:17:19 +08:00
Jiajie Chen
547baa9ecd
Implement symlink following
2019-03-23 15:47:44 +08:00
Jiajie Chen
0272aa1070
Implement sys_readlink and improve sys_mremap
2019-03-23 11:33:53 +08:00
Jiajie Chen
1444fb4c42
Respect INTERP loader command in ELF and load the interpreter instead
2019-03-23 01:32:08 +08:00
Jiajie Chen
08ba9261aa
Fix sys_mprotect with page alignment, dynamic loading seems working
2019-03-23 00:46:32 +08:00
Jiajie Chen
d285adf277
Fix last commit for exit_in_qemu
2019-03-23 00:26:36 +08:00
Jiajie Chen
b2585eb3bd
Fix last commit
2019-03-23 00:22:33 +08:00
Jiajie Chen
4e0c18914f
Implement sys_sendfile
2019-03-23 00:20:25 +08:00
WangRunji
638a2215b2
impl eager mmap file
2019-03-22 23:58:19 +08:00
WangRunji
5ddd5ece8d
rename, simplify
2019-03-22 23:45:57 +08:00
Jiajie Chen
abd93e49e3
Implement write_at for virtio_blk driver
2019-03-22 23:14:41 +08:00
Jiajie Chen
c7b34a7f72
Use enable_irq explicitly in ixgbe driver
2019-03-22 12:33:48 +08:00
WangRunji
cc6a069586
fix split absolute path
2019-03-21 00:37:54 +08:00
Jiajie Chen
f09290442c
Add pkttop.sh, bump user and drivers version
2019-03-20 23:02:12 +08:00
Jiajie Chen
6725ca10ab
Fix IXGBE driver with drop and update user with working userland networking
2019-03-20 19:04:07 +08:00
WangRunji
b9a7888290
update fs. impl sys_sync, sys_rmdir. fix sys_unlink.
2019-03-20 16:59:47 +08:00
Jiajie Chen
56f8f128ba
Fix ixgbe driver
2019-03-20 16:43:40 +08:00
Jiajie Chen
e3b7efbc94
Move ixgbe to isomorphic_drivers, and format driver codes
2019-03-20 16:29:42 +08:00
Jiajie Chen
c6be460228
Fix PCI driver detaching
2019-03-20 14:35:37 +08:00
Jiajie Chen
a0d9a8b2de
Detach driver from the device in sys_map_pci_driver
2019-03-20 13:00:19 +08:00
Jiajie Chen
960ef2e1f8
Implement PCI driver detach and merge NetDriver trait into Driver
2019-03-20 11:36:41 +08:00
Jiajie Chen
cf3b183311
Use jumbo frame in ixgbe
2019-03-20 10:24:45 +08:00
Jiajie Chen
fffc330f47
Fix u540 serial print and fix sys_accept
2019-03-19 22:58:17 +08:00
Jiajie Chen
7fd9130024
Add missing changeset in last commit
2019-03-19 18:35:40 +08:00
Jiajie Chen
5d601c3ea4
Move socket to global, move and merge functions to net/structs.rs
2019-03-19 18:33:13 +08:00
WangRunji
f6352b2688
fix serial interrupt on HiFiveU
2019-03-19 18:23:10 +08:00
Jiajie Chen
c4df7cd3af
Fix PCI MSI interrupt comment
2019-03-19 14:30:36 +08:00
WangRunji
442e1f4d0f
merge bbl crate to kernel
2019-03-19 00:48:15 +08:00
WangRunji
d9bb072cbd
update riscv crate
2019-03-19 00:43:06 +08:00
Jiajie Chen
edbf07f914
Add #[deny(warnings)] to syscall dispatch. See 17e644e54e
for discussion
2019-03-18 21:36:57 +08:00
Jiajie Chen
92d40fae61
Fix missing change in last commit
2019-03-18 20:06:42 +08:00
Jiajie Chen
0d2bc0a7d4
Implement irq allocation and use irq number to identify irq source
2019-03-18 19:58:35 +08:00
Jiajie Chen
c423f10483
Name ixgbe interfaces after systemd's and show link status change event
2019-03-18 19:26:47 +08:00
WangRunji
d0202c945e
test and fix something on HiFiveU
2019-03-18 18:24:58 +08:00
Jiajie Chen
f2362d26df
Disable pci interrupt temporary before we are able to read pci routing table
2019-03-18 16:23:27 +08:00
Jiajie Chen
b7f47235f8
Add support for PCI legacy interrupts
2019-03-18 16:17:01 +08:00
equation314
28ce8ba81c
update URL to new organization
2019-03-18 11:55:06 +08:00
Jiajie Chen
62d60d16e5
Fix sys_getcwd: return pointer to cwd
2019-03-18 11:23:49 +08:00
Jiajie Chen
2ada090430
Use buddy_system_allocator for a drop inreplacement for linked_list_allocator
2019-03-18 09:00:51 +08:00
WangRunji
6e7e9149ee
update URL to new organization
2019-03-18 01:14:30 +08:00
WangRunji
17e644e54e
unimportant changes
2019-03-18 00:18:03 +08:00
equation314
480bf0d14c
fix struct stat layout on non-x86 archs
2019-03-17 23:16:22 +08:00
equation314
eca05a1685
add non-x86 syscall ids
2019-03-17 23:05:09 +08:00
equation314
18626a2a19
Merge branch 'bootloader' into biscuit
2019-03-17 15:53:37 +08:00
WangRunji
5a619825bc
fix VGA and support keyboard escape char for rust/sh
2019-03-17 13:32:03 +08:00
Jiajie Chen
23b4c39ec7
Enlarge tcp send/recv buf for sys_accept() sockets
2019-03-17 11:24:50 +08:00
Jiajie Chen
755f820c41
Enable interrupt throttling, use spin before wait in sys_read and fix sys_bind, sys_poll for udp
2019-03-17 00:33:05 +08:00
WangRunji
c6c76147d6
impl custom syscall: sys_get_paddr
2019-03-16 21:24:41 +08:00
WangRunji
1c5effae04
move hard link user asm to Rust
2019-03-16 16:54:24 +08:00
Jiajie Chen
236c403f36
Enable ixgbe ip receive checksum
2019-03-16 15:58:32 +08:00
WangRunji
a3edd38046
fix VGA color on x86_64
2019-03-16 15:54:43 +08:00
WangRunji
e70cac58c8
refactor x86_64 VGA using console-traits crate
2019-03-16 13:15:26 +08:00
WangRunji
0f339fcbf8
fix compile on riscv
2019-03-16 13:13:42 +08:00
WangRunji
b304764fb5
fix VGA on x86_64
2019-03-16 13:13:42 +08:00
Jiajie Chen
0977814d34
Fix ixgbe and e1000 drivers by adding IFCS bit
2019-03-16 10:05:43 +08:00
Jiajie Chen
e7657356a2
Implement sys_map_pci_device call for mapping BAR into user space
2019-03-16 07:21:54 +08:00
Jiajie Chen
8860f1e4a3
Implement mapping from riscv to x86_64 syscall numbering
2019-03-15 23:55:01 +08:00
Jiajie Chen
cd23967f97
Fix riscv32 hartid saving
2019-03-15 12:39:55 +08:00
WangRunji
b8460e20d8
fix riscv syscall ABI. fix store user tp and kernel hartid
2019-03-15 01:58:19 +08:00
Jiajie Chen
a4c1d1231b
Use rust user shell instead of kernel shell and fix sys_exec
2019-03-14 20:51:30 +08:00
Jiajie Chen
543fb971ed
Fix input blocked when keyboard input is fast
2019-03-14 20:04:46 +08:00
Jiajie Chen
9dd576d6a1
Fix ixgbe transmitting
2019-03-14 14:40:52 +08:00
Jiajie Chen
e1bcbe7eb2
Initial ixgbe driver with transitting
2019-03-14 13:20:43 +08:00
Jiajie Chen
71808b49f5
Initial ixgbe driver capable of receiving frames
2019-03-14 09:30:43 +08:00
Jiajie Chen
a6bb042bd9
Support zero timeout in sys_select. Improve e1000 driver speed
2019-03-13 11:41:33 +08:00
Jiajie Chen
02a40b359b
Only remap device memory region lazily
2019-03-12 14:33:29 +08:00
Jiajie Chen
af63d937d6
Add udp remote endpoint state
2019-03-12 13:38:20 +08:00
Jiajie Chen
33ce72703b
Enlarge tcp send/recv buf, implement getsockopt for send/recv buf and add spin_and_wait
2019-03-12 11:59:31 +08:00
WangRunji
40ac510ecd
fix compile on riscv & aarch64
2019-03-12 11:49:17 +08:00
jiegec
09588d7a1f
Fix Sockaddr, implement sys_rusage and fix readv
2019-03-12 09:54:58 +08:00
equation314
681c0be801
aarch64: fix the potential memory overlapping bug of bootloader
2019-03-12 01:28:28 +08:00
Jiajie Chen
b7aee438db
Fix sys_kill and add killtest
2019-03-11 17:55:39 +08:00
Jiajie Chen
17c08ce26c
Fix sys_exit/sys_exit_group deadlock
2019-03-11 17:19:00 +08:00
Jiajie Chen
8dc7c7bd3c
Implement sys_reboot with isa-debug-exit and add test script using expect
2019-03-11 16:09:15 +08:00
WangRunji
9269a9856d
support fast syscall
2019-03-11 15:45:09 +08:00
WangRunji
98b3b12c96
continue refactoring process
2019-03-11 01:06:44 +08:00
Jiajie Chen
8cb11b7aa8
Implement tid/pid/ppid separation
2019-03-10 15:23:15 +08:00
Jiajie Chen
82457be2ec
Make time syscall more rustful
2019-03-10 08:53:29 +08:00
Jiajie Chen
cb0a51d28d
Use union to implement sockaddr, and eliminate many warnings
2019-03-10 08:39:22 +08:00
Jiajie Chen
d041884cc2
Fix sys_accept deadlock
2019-03-10 01:20:50 +08:00
Jiajie Chen
6697861860
Add is_listening to TcpSocketState, support sys_poll for listen
2019-03-10 00:58:10 +08:00
Jiajie Chen
6ed66d03d8
Fix sys_pipe
2019-03-10 00:50:28 +08:00
Jiajie Chen
d0d05acfd0
Implement Clone for SocketWrapper
2019-03-10 00:48:04 +08:00
equation314
f3d47f4b02
aarch64: move crate bcm2837 to remote
2019-03-09 23:03:44 +08:00
equation314
68b967b48e
aarch64: move crate atags
into crate bcm2837
2019-03-09 22:20:12 +08:00
equation314
279f983786
aarch64: put the kernel in the top VA range
2019-03-09 19:50:28 +08:00
WangRunji
84c12ae6e1
rename functions. ignore readonly in mmap to avoid page fault.
2019-03-09 15:55:00 +08:00
WangRunji
ab63c933c2
fix sys_nanosleep
2019-03-09 14:08:56 +08:00
WangRunji
491353acfd
impl sys_futex. fix clear_child_tid for thread exit
2019-03-09 12:54:26 +08:00
WangRunji
84b2af3cdb
refactor sys_close_internal to SocketWrapper::drop
2019-03-09 12:49:59 +08:00
Jiajie Chen
1645451749
Implement memory_set splitting for munmap, add sys_sysinfo
2019-03-09 07:15:47 +08:00
WangRunji
dc55238989
fix sys_clone newtls
2019-03-09 00:47:02 +08:00
WangRunji
d51c52902d
minimal impl sys_clone
2019-03-08 22:37:47 +08:00
WangRunji
c3563192b5
fix SysResult::Ok(isize -> usize)
2019-03-08 19:04:39 +08:00
Jiajie Chen
b590545375
Implement sys_pwrite, sys_accept4 and dummy sys_chown, sys_epoll_create1. Allow recvfrom for tcp
2019-03-08 18:03:46 +08:00
WangRunji
fdc28724a3
fix sys_wait -1. update fs.
2019-03-08 15:54:03 +08:00
Jiajie Chen
0666a5a7ee
Implement sys_clock_gettime
2019-03-08 15:35:18 +08:00
Jiajie Chen
35dad6853f
Enable SSE and save FP registers in trapframe, implement sys_pread, sys_uname and sys_sched_getaffinity, support FIXED in mmap
2019-03-08 14:24:20 +08:00
WangRunji
f7f740a021
remove TLS setup code. fix check writable memory
2019-03-08 10:50:46 +08:00
Jiajie Chen
84e07a6d83
Implement sys_mprotect and move attr setting from page_fault_handler to map in Delay
2019-03-08 00:03:06 +08:00
Jiajie Chen
8809c6ca7f
Improve sys_wait and replace CR with LF
2019-03-07 23:32:47 +08:00
equation314
0e38439fb8
aarch64: enable MMU in bootloader
2019-03-07 23:25:26 +08:00
Jiajie Chen
6e7dc9e349
Minor fixes around thread pool, writev, fs and implement gettid
2019-03-07 23:04:52 +08:00
Jiajie Chen
2d77b89476
Infer phdr from elf loading address, skip the first page in sys_mmap and update user to musl-enabled biscuit programs
2019-03-07 22:06:26 +08:00
Jiajie Chen
cca53536d1
Implement sys_pipe, fix sys_chdir, add dummy sys_setuid, and set an ephermal port when binding port 0
2019-03-07 19:31:46 +08:00
Jiajie Chen
bf5e176176
Implement sys_shutdown
2019-03-07 18:07:54 +08:00
Jiajie Chen
026ee459ec
Fix sys_poll, implement sys_getpeername and dummy sys_access
2019-03-07 16:55:02 +08:00
WangRunji
bc6818e365
minor improvement of net syscalls
2019-03-07 16:43:55 +08:00
Jiajie Chen
a1576b12ad
Fix dup2 socket ref count and sys_accept, close sockets on sys_exit
2019-03-07 14:55:31 +08:00
Jiajie Chen
c5aa5922bd
Fix forking and sys_dup2, implement sys_getsockopt and update sys_exec
2019-03-07 14:21:26 +08:00
Jiajie Chen
781630e06d
Implement sys_select and nc is working
2019-03-07 09:47:36 +08:00
Jiajie Chen
8b9aecca1c
Fix a potential racing in park() and unpark(), fix sys_poll for a running telnet
2019-03-07 07:46:11 +08:00
WangRunji
9e6483f488
refactor driver: make (Net)Driver Sync. may help avoid deadlock?
2019-03-07 01:00:46 +08:00
WangRunji
1f2625e565
minor improvement of sys_poll
2019-03-06 21:52:03 +08:00
Jiajie Chen
42b02453a0
Implement basic version of sys_poll supporting stdin and socket, fix some deadlocks and introduce some others
2019-03-06 20:24:55 +08:00
Jiajie Chen
2683314c38
Allocate pages eagerly for Delay when forking. Implement sys_getsockname.
2019-03-06 15:35:10 +08:00
Jiajie Chen
3e6860ae8a
Fix lookup_inode for absolute path, and implement sys_accept for tcp
2019-03-06 10:57:28 +08:00
Jiajie Chen
a51b9dbd90
Implement tls setup code(not working yet), tcp sys_bind and sys_connect
2019-03-06 10:19:19 +08:00
equation314
8bb1e65ba7
load kernel elf in bootloader
2019-03-06 00:46:01 +08:00
Jiajie Chen
82e273df58
Implement sys_read for tcp
2019-03-05 09:35:59 +08:00
Jiajie Chen
0cf57be9e5
Tftp client is working by implement udp in some syscalls
2019-03-05 00:57:40 +08:00
Jiajie Chen
dcb1b51a5f
Improve time-related syscall precision and add some comment for MSI
2019-03-04 23:52:19 +08:00
Jiajie Chen
c6c89198cd
Add cmos rtc driver for x86
2019-03-04 16:25:57 +08:00
Jiajie Chen
1a1e39c960
Move socket set to iface, redesign NetDriver trait and implement blocking net syscalls
2019-03-04 15:34:02 +08:00
equation314
b94ba7759e
add aarch64 bootloader framework
2019-03-04 15:22:19 +08:00
WangRunji
738554386b
introduce VMError to simplify EFAULT error handling
2019-03-03 01:27:30 +08:00
Jiajie Chen
68167efd45
Merge remote-tracking branch 'origin/biscuit' into biscuit
2019-03-03 00:45:04 +08:00
Jiajie Chen
81176e5561
Implement raw socket for ping and add SocketWrapper struct
2019-03-03 00:44:46 +08:00
WangRunji
0fd24ff92e
impl sys_f(data)sync, sys_(f)truncate, sys_(un)link
2019-03-02 23:16:11 +08:00
WangRunji
451fe6b192
impl sys_chdir, sys_rename, sys_mkdir
2019-03-02 21:25:36 +08:00
WangRunji
2a6c4554d1
Merge remote-tracking branch 'course/biscuit' into biscuit
2019-03-02 20:48:49 +08:00
Jiajie Chen
687caf804d
Implement sys_getcwd
2019-03-02 20:25:30 +08:00
Jiajie Chen
e543449836
Implement basic version of sys_munmap and sys_time
2019-03-02 20:15:55 +08:00
WangRunji
a979b6b5ec
impl sys_getppid. fix checking pointer for process syscalls
2019-03-02 19:09:39 +08:00
WangRunji
132bc629fa
fix bad address error code to EFAULT
2019-03-02 17:26:50 +08:00
WangRunji
472dac5d09
fix sys_getdent64. pass ls in coreutils & busybox
2019-03-02 17:17:57 +08:00
WangRunji
b66c8811d1
update bootloader to fix multi-core boot bug on x86_64
2019-03-02 12:37:55 +08:00
WangRunji
8ab991ebe1
remove global ActivePageTable, because it's CPU local
2019-03-02 11:19:47 +08:00
Jiajie Chen
d8345e96c7
Fix typo
2019-03-01 08:09:01 +08:00
Jiajie Chen
d9e05012f0
Implement socket sys_close
2019-03-01 08:03:10 +08:00
WangRunji
1b104029ce
tiny refactor: convert 'get_file' & 'get_socket' to method
2019-02-28 23:33:31 +08:00
Jiajie Chen
6ea04c91b2
Fix line editing bug
2019-02-28 15:53:41 +08:00
Jiajie Chen
29865d7aaa
Add line editing function to user shell and refactor net syscall
2019-02-28 15:50:58 +08:00
Jiajie Chen
6124cd60fc
Add basic implementation for syscall: connect and write
2019-02-28 14:46:46 +08:00
Jiajie Chen
984df11971
Merge remote-tracking branch 'origin/biscuit' into biscuit
2019-02-28 12:33:10 +08:00
Jiajie Chen
71336aca5c
Redesign NetDriver trait and update drivers
2019-02-28 12:31:10 +08:00
WangRunji
344a537684
fix SysError to match Linux error code
2019-02-28 10:59:52 +08:00
Jiajie Chen
36292e6fcd
Add dummy implementations for more syscalls
2019-02-28 07:34:45 +08:00
WangRunji
c7f9921e06
support TLS for musl. partial impl sys_exit_group.
2019-02-28 00:15:44 +08:00
WangRunji
f76374000e
fix x86_64 syscall register (r10)
2019-02-28 00:12:59 +08:00
equation314
7a278cd421
Merge branch 'master' into biscuit
2019-02-27 14:59:30 +08:00
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.
2019-02-27 14:49:32 +08:00
Jiajie Chen
671b7c7b54
Implement backtrace support for x86_64
2019-02-26 23:59:18 +08:00
Jiajie Chen
6f1953b977
Add document for e1000 driver
2019-02-26 23:03:04 +08:00
Jiajie Chen
af9a978a9d
Fix a bug in e1000 driver, run net thread and update Makefile
2019-02-26 20:46:51 +08:00
Jiajie Chen
7a3c66a923
Receiving from e1000 driver works
2019-02-26 19:33:20 +08:00
WangRunji
85ae4b1ba1
impl sys_stat, sys_readv, sys_writev. not tested yet
2019-02-26 18:37:50 +08:00
WangRunji
4e146ec491
impl sys_lseek
2019-02-26 17:01:38 +08:00
WangRunji
70a950bf40
fix struct stat to match Linux ABI
2019-02-26 16:21:55 +08:00
WangRunji
cab19688d5
rename File to FileHandle. impl create for sys_open.
2019-02-26 01:44:13 +08:00
WangRunji
6d78206f77
impl finding free area for mmap
2019-02-26 00:46:25 +08:00
Jiajie Chen
dd61ce30ba
Implement reading pci memory address
2019-02-25 21:18:09 +08:00
Jiajie Chen
197bebb1d2
Implement pci bus probing and fix a bug in virtio_mmio
2019-02-25 19:12:41 +08:00
WangRunji
05310dcd7d
refactor GDT mod
2019-02-25 00:44:22 +08:00
WangRunji
4404982a55
impl sys_arch_prctl set fs
2019-02-25 00:20:37 +08:00
WangRunji
7a704673d7
save fsbase to TrapFrame on x86_64
2019-02-25 00:17:16 +08:00
WangRunji
a224e85c8d
split scheduler mod, make Scheduler Sync
...
biscuit: fix argc, argv
2019-02-23 19:28:38 +08:00
WangRunji
e678186b3d
support idle for rcore-thread, remove idle thread in kernel
2019-02-23 16:54:02 +08:00
WangRunji
fc98719559
impl sys_mmap for annonymous
2019-02-23 00:07:28 +08:00
WangRunji
6e8a0e20ab
fix device compile error, update crate pc_keyboard
2019-02-22 21:15:05 +08:00
WangRunji
08c8d89974
update SFS to new rcore-fs
2019-02-22 17:10:57 +08:00
WangRunji
ca45f8f152
fix check user ptr in syscalls
2019-02-22 16:30:56 +08:00
WangRunji
d26a1bc617
split syscall mod
2019-02-22 14:10:24 +08:00
WangRunji
2cf7e7bd87
fix File in Process
2019-02-22 13:09:42 +08:00
WangRunji
cf9ac9ccfd
split fs mod
2019-02-22 13:08:40 +08:00
WangRunji
7927c7c168
Merge branch 'thread' into biscuit
...
# Conflicts:
# kernel/src/process/mod.rs
# kernel/src/process/structs.rs
# kernel/src/syscall.rs
2019-02-22 12:06:21 +08:00
WangRunji
e1dacb28ef
auto open stdin/out/err for new proc. pass biscuit hello,cat,echo ...
2019-02-22 11:44:48 +08:00
WangRunji
c69386fbc2
add rcore-user submodule
2019-02-21 18:35:10 +08:00
WangRunji
67e8bef0f5
modify syscall ids to match Linux 64. fix fork file bug.
2019-02-21 00:44:14 +08:00
WangRunji
8a1a38853e
support 'syscall' instruction by handling invalid opcode exception
2019-02-18 22:34:44 +08:00
WangRunji
a6b0da0c2f
rename x86_64 exception consts
2019-02-18 22:26:05 +08:00
WangRunji
32e7f0ed52
fix process startup stack for musl libc
2019-02-18 21:46:12 +08:00
WangRunji
a33d7632d6
rename 'KERN_VA_BASE' to 'KERNEL_OFFSET'. fix compile error
2019-02-18 14:42:25 +08:00
Jiajie Chen
fbf9409db2
Convert frame buffer to pa in virtio_gpu as well
2019-02-16 19:15:24 +08:00