1
0
mirror of https://github.com/rcore-os/rCore.git synced 2024-11-23 08:26:17 +04:00
Commit Graph

550 Commits

Author SHA1 Message Date
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
Jiajie Chen
f399805196 Use KERN_VA_BASE and MEMORY_OFFSET to convert between kern va and pa 2019-02-16 18:06:32 +08:00
Jiajie Chen
8313b8854e cherry-pick virtio improvement from lab8-rv32
Move mandelbrot to test mod, cleanup virtio feature negotiation and add addr2line script to Makefile

Implement full virtqueue operations, virtio input driver

Use new virtqueue implementation for virtio net driver

Implement virtio blk device support and use it instead of memory sfs when available

fix dirty hack for virtio_blk
2019-02-16 16:52:11 +08:00
WangRunji
95dfb7684f update kflash.py, fix build k210 2019-02-16 14:31:47 +08:00
WangRunji
2766f49986 update README, Travis, Makefile 2019-02-15 16:10:24 +08:00
WangRunji
2303a8099b update Rust compiler to support riscv64 2019-02-15 14:54:42 +08:00
WangRunji
ac0c19cdb0 support Sv39
To test: make run arch=riscv64 board=u540
2019-02-01 01:09:23 +08:00
WangRunji
fc8888db72 update for new paging mechanism on riscv. move kernel va to 0x(ffffffff)c0000000. 2019-01-31 23:20:21 +08:00
WangRunji
1ceb7ae12d use #[repr(C)] instead of #[repr(packed)] to avoid warning 2019-01-31 18:07:15 +08:00
WangRunji
847a1c7576 use core::sync::atomic::fence 2019-01-29 16:08:00 +08:00
WangRunji
66c84b4599 update to x86_64 0.4 2019-01-28 14:24:56 +08:00
WangRunji
0ec5ad8056 split Process and Thread 2019-01-25 23:28:48 +08:00
WangRunji
5bffce787b rename 'process' crate to 'thread' 2019-01-24 19:03:45 +08:00
WangRunji
238de1b282 fix compile for rv64 2019-01-24 12:31:28 +08:00
WangRunji
047f4ffdcc cherry-pick jiegec's work (#3) from lab8-rv32: virtio drivers, network stack
Read and parse dtb upon boot

Implement virtio net device detection

Negotiate feature bits for virtio-net

Read MAC address from virtio-net device and detect virtqueues

Receiving from virtio net device is working for the first time

Implement driver interface and interrupt handling routines

Rearrange drivers into upper directory

Implement initial support for processing arp request and reply packet

Refactor MAC address and IPv4 address into structs, and implement ICMP echo reply

Fix typos

Implement initial support for virtio gpu driver

Complete first working version of virtio gpu driver with mandelbrot example

Use smoltcp and implement a udp and tcp server on top of it

Cleanup virtio net code
2019-01-23 22:28:45 +08:00
Jiajie Chen
b1d01928c3 Use core::mem::size_of instead of core:intrinsics::size_of. Thanks @wangrunji0408 2019-01-08 22:10:51 +08:00
Jiajie Chen
6e887d5505 Replace hardcoded instruction length with size_of in backtrace 2019-01-08 19:08:17 +08:00
Jiajie Chen
5350ecb09f Add addr2line tool for annotating backtrace 2019-01-08 19:04:34 +08:00
Jiajie Chen
e3262698be Fix aarch64 toolchain detection and add missing compiler_builtins v0.1.5 2019-01-08 13:49:49 +08:00
Jiajie Chen
4beb865d32 Update toolchain location and detection 2019-01-08 12:57:24 +08:00
Jiajie Chen
090796d3f0 Implement backtrace support for RISCV32 2019-01-08 12:05:29 +08:00
Jiajie Chen
7d6856ceab Implement backtrace support for RISCV64 2019-01-08 11:33:31 +08:00
Jiajie Chen
d8edd1a7db Implement backtrace support for AArch64 2019-01-08 11:05:28 +08:00
dzy
61eda6b19e Add 0.1.4 compiler_builtins. Git ignore llc. 2019-01-06 20:17:35 +08:00
WangRunji
0965d24083 fix map_kernel on riscv32 2019-01-05 15:29:27 +08:00
WangRunji
2d5178d0b7 rename ucore to rcore 2019-01-03 21:26:50 +08:00
WangRunji
f0ea48126d fix sys_wait arg type: isize -> i32 2019-01-03 18:37:27 +08:00
WangRunji
61dfcb5558 Merge remote-tracking branch 'equation314/arch-aarch64' into merging
# Conflicts:
#	kernel/Makefile
#	kernel/src/arch/aarch64/board/raspi3/irq.rs
#	kernel/src/arch/aarch64/memory.rs
#	kernel/src/arch/riscv32/paging.rs
#	kernel/src/arch/x86_64/paging.rs
2019-01-03 18:21:13 +08:00
equation314
dfb2d49cd6 aarch64/doc: add console driver 2019-01-02 19:15:47 +08:00
equation314
1aa8436d71 aarch64/doc: add interruption & timer drivers 2019-01-01 20:47:19 +08:00
equation314
7fda4e360f aarch64/doc: add GPIO, mini UART, mailbox drivers 2019-01-01 01:56:22 +08:00
WangRunji
e46b6c7b0c move target json. add kflash.py 2019-01-01 01:53:33 +08:00
WangRunji
190711fbc2 yet another riscv atomic fix 2019-01-01 01:40:34 +08:00
equation314
e1d0d2a020 aarch64/doc: add overview of AArch64 2018-12-31 22:51:13 +08:00
WangRunji
5d7e97d9e9 fix interrupt in process crate 2018-12-31 22:49:28 +08:00
WangRunji
681a90657a let Makefile support riscv64 2018-12-28 23:35:50 +08:00
WangRunji
259e7c842e update Cargo.toml & Makefile 2018-12-28 18:18:14 +08:00
WangRunji
33eaded142 Merge remote-tracking branch 'bpc/user-lib-bin' into merge-1228
# Conflicts:
#	kernel/src/arch/riscv32/compiler_rt.c
#	kernel/src/arch/riscv32/consts.rs
#	kernel/src/arch/riscv32/context.rs
#	kernel/src/arch/riscv32/io.rs
#	kernel/src/arch/riscv32/memory.rs
#	kernel/src/arch/riscv32/paging.rs
#	user/ucore-ulib/src/syscall.rs
2018-12-28 17:41:21 +08:00
WangRunji
c65b7357a4 use riscv crate from github 2018-12-28 17:00:59 +08:00
WangRunji
a852c96136 Merge branch 'master' into rust-rv64
# Conflicts:
#	crate/memory/src/memory_set.rs
#	kernel/src/arch/riscv32/compiler_rt.rs
#	kernel/src/arch/riscv32/memory.rs
#	kernel/src/arch/riscv32/paging.rs
#	kernel/src/memory.rs
#	kernel/src/process/mod.rs
2018-12-28 16:55:09 +08:00
WangRunji
92ae57b251 fix user program memory layout on NoMMU 2018-12-27 22:44:01 +08:00
WangRunji
daee1e9f94 fix bugs on K210 2018-12-27 22:43:48 +08:00
WangRunji
b3a8e95d78 merge interrupt & context switch for rv32 & rv64 2018-12-27 19:48:08 +08:00
WangRunji
de24f6673c remove '\r' 2018-12-27 15:56:20 +08:00
WangRunji
0d957ff1a6 fix getchar on K210 2018-12-26 23:53:14 +08:00
dzy
4b17055f30 running user program. 2018-12-26 21:07:36 +08:00
dzy
e74f749ff3 fix context change bug. user sh is running!!! 2018-12-26 16:10:00 +08:00
dzy
6f2d059ba5 implement map_kernel, now enters the kernel well 2018-12-26 15:42:08 +08:00
dzy
bf3a67a7e4 remap_kernel runs fine 2018-12-26 15:03:35 +08:00
dzy
21adebb203 run until ms.token() 2018-12-26 14:56:13 +08:00
dzy
ccee527272 runs without pagefault but does not reach end of remap_kernel 2018-12-26 14:04:11 +08:00
dzy
a4348428a6 can run until update 2018-12-26 13:58:08 +08:00
dzy
d67a224494 add wrj's 704af94 patch 2018-12-26 11:55:27 +08:00
dzy
ed3fb6d423 another temporary 2018-12-26 09:54:14 +08:00
dzy
0dbffbc0fa temporary 2018-12-26 00:12:10 +08:00
WangRunji
af6d533cb5 fix trap return on M-Mode 2018-12-25 00:56:25 +08:00
WangRunji
3de76885fa llc build for rv64imc 2018-12-25 00:33:29 +08:00
WangRunji
020e3505ee enable timer interrupt for K210 2018-12-25 00:30:21 +08:00
dzy
b7e124930d fix compilation errors 2018-12-24 21:36:33 +08:00
dzy
3910f71521 preliminary support for riscv64, not tested.
riscv32 runs fine.
2018-12-24 20:52:54 +08:00
WangRunji
3a4b8f5dac fix trap for rv64 2018-12-24 20:28:42 +08:00
WangRunji
8529d9fe4e fix const, linker, build for K210 2018-12-23 03:33:05 +08:00
WangRunji
9ab4fd40ea fix atomic for K210. enable print mutex again 2018-12-23 03:30:01 +08:00
WangRunji
70b6db4282 make clear_bss faster 2018-12-23 03:10:59 +08:00
dzy
1d1d4109c3 Make script easily support both rv32 and rv64. 2018-12-22 17:58:17 +08:00
dzy
98c94a0d83 Fix register size (4->XLEN) in trap handling. 2018-12-22 17:41:47 +08:00
WangRunji
45b91fbcad update rv64 build script. print hello on QEMU! 2018-12-22 15:54:03 +08:00
WangRunji
d3ef0252ac move setup_page_table to BBL 2018-12-22 15:40:47 +08:00
WangRunji
3ea104da97 Merge remote-tracking branch 'dzy/rust-rv64' into rust-rv64
# Conflicts:
#	kernel/Cargo.toml
2018-12-21 19:22:56 +08:00
WangRunji
0af9776dbd add .stack section. clear bss 2018-12-21 19:19:55 +08:00
WangRunji
7240198a54 fix newline: '\r\n' 2018-12-21 19:02:50 +08:00
Ben Pig Chu
5135fb0c0e the shell that is able to fork-exec-wait 2018-12-21 14:18:23 +08:00
WangRunji
62b931d576 print hello on K210 2018-12-21 01:50:52 +08:00
equation314
aa5bd3041b Merge branch 'master' into arch-aarch64 2018-12-20 23:07:16 +08:00
Ben Pig Chu
364497e379 use the error code specified in ucore_os_lab instead of ucore_plus 2018-12-20 19:36:19 +08:00
equation314
a55f3b61e6 add Makefile option graphic & cargo feature nographic 2018-12-20 19:05:19 +08:00
dzy
a75e52691d port to newer riscv crate supporting rv64 2018-12-20 18:21:58 +08:00
Ben Pig Chu
6e8c80d328 panicless default fs implement 2018-12-20 17:13:00 +08:00
equation314
09c2b6e7b7 aarch64/fb: add ANSI escape sequences parser 2018-12-20 15:45:17 +08:00
Ben Pig Chu
113a33e575 translate FsError to SysError 2018-12-20 14:03:11 +08:00
Ben Pig Chu
f8533442f2 return error code from syscall, not always -1 2018-12-20 13:20:00 +08:00
Ben Pig Chu
fa03f7b112 use the simple-filesystem crate with FsError 2018-12-20 12:27:21 +08:00
WangRunji
d4b6cc1082 compile rv64 pass on macOS 2018-12-20 01:13:42 +08:00
WangRunji
02bd2b2317 remove arch/riscv64 directory 2018-12-20 01:08:40 +08:00
equation314
6c717905d7 aarch64/fb: add foreground & background color 2018-12-19 14:49:15 +08:00
equation314
9dda78d2e3 aarch64/fb: improve the performance of ConsoleBuffer::new_line() 2018-12-18 22:53:20 +08:00
Ben Pig Chu
d737b1e7ba maually remove warning, pt6 2018-12-18 21:39:19 +08:00
equation314
7b8359eeef aarch64/fb: add 8x16 font 2018-12-18 17:51:22 +08:00
Ben Pig Chu
6eb49a0106 maually remove warning, pt5 2018-12-18 16:29:09 +08:00
Ben Pig Chu
7eb9f7abcf maually remove warning, pt4 2018-12-18 15:16:30 +08:00
Ben Pig Chu
935c595083 maually remove warning, pt3 2018-12-18 13:32:05 +08:00
Ben Pig Chu
07b8a063ec maually remove warning, pt2 2018-12-18 12:53:56 +08:00
equation314
b47c4758bf aarch64/fb: add basic console driver 2018-12-18 00:16:56 +08:00
Ben Pig Chu
1ca2bde069 maually remove warning, pt1 2018-12-17 23:54:13 +08:00
dzy
f954c2fd6a Completely get rid of cargo-generated target/ 2018-12-17 16:48:46 +08:00
dzy
61a3beb8ba Start porting for rv64 2018-12-17 14:58:16 +08:00
equation314
b5cc79d1b2 modify mmio() & set_mmio() in PageEntry 2018-12-17 14:28:51 +08:00
equation314
48cf25716f aarch64/fb: flush data cache around mailbox accesses
can run on real raspi3
2018-12-17 01:34:44 +08:00
equation314
5987c2068b aarch64/fb: remap framebuffer base address 2018-12-16 22:26:04 +08:00
equation314
6ba9e34f77 aarch64/fb: add framebuffer initialization 2018-12-16 20:55:04 +08:00
WangRunji
9b0b0064d0 Merge remote-tracking branch 'equation314/arch-aarch64' into dev
# Conflicts:
#	kernel/src/arch/aarch64/memory.rs
#	kernel/src/arch/aarch64/paging.rs
#	kernel/src/process/context.rs
2018-12-15 20:33:25 +08:00
WangRunji
d20d22b85b add hint for user shell. detect cores through 'SMP' env. 2018-12-15 20:17:02 +08:00
WangRunji
fbf59396b2 use 'ucore_*.img' by default 2018-12-15 20:04:22 +08:00
equation314
d7511d8120 aarch64/fb: add mailbox property interfaces 2018-12-14 21:19:44 +08:00
WangRunji
6952f008e0 rename ContextImpl to Process 2018-12-14 02:37:51 +08:00
WangRunji
557f021c08 fix DelayHandler & MemoryAttr 2018-12-14 02:31:46 +08:00
WangRunji
704af94211 fix rv32 entry editing 2018-12-14 02:25:30 +08:00
equation314
f76a604b78 aarch64: add driver interfaces 2018-12-13 18:49:54 +08:00
equation314
81af2c82fd aarch64: reduce some warnings, config system/generic timer in Makefile 2018-12-11 16:58:04 +08:00
equation314
5a165178cc aarch64: implement IRQ register & serial IRQ 2018-12-11 15:07:13 +08:00
WangRunji
ff806d4465 move common codes to InactivePageTable trait 2018-12-08 12:50:50 +08:00
WangRunji
102866bcf9 introduce MemoryHandler and refactor MemorySet. temporary disable swap.
This is a manual rebase of LCY's code
2018-12-08 00:29:55 +08:00
WangRunji
96a76290b6 fix rv32 __mulsi3 add overflow 2018-12-07 23:48:27 +08:00
dzy
7b0ac1b84e Script to allow rustc-only builds without cargo. 2018-12-07 20:50:39 +08:00
dzy
25ccdf6731 Update and cleanup makefile.
* Change few places from riscv64 to riscv32. Previously it was rv64
  because the code author does not have a 32bit toolchain and used a
  64bit one instead.

* Add new board type 'none', for running on qemu.
2018-12-07 20:48:44 +08:00
equation314
28d872064d Merge branch 'master' of https://github.com/wangrunji0408/RustOS into arch-aarch64 2018-12-07 11:35:07 +08:00
equation314
aa5e7a4e6f remove #![feature(extern_crate_item_prelude)] 2018-12-03 17:22:11 +08:00
equation314
6879c66e58 aarch64: set TTBR1 = TTBR0 in InactivePageTable::edit(), swap is OK
TODO: flush icache in the right place
2018-12-03 17:22:11 +08:00
equation314
d5a6eb2020 user: fix build error 2018-12-03 12:30:03 +08:00
Wang Runji
3f2beab52d
Merge branch 'master' into user-img 2018-12-02 22:39:59 +08:00
WangRunji
e7039945c1 move user img, remove useless files 2018-12-02 21:18:37 +08:00
WangRunji
acafe19e26 fix runtime error on aarch64
- InactivePageTable::activate should be separated for user & kernel (TTBR1/0)
- disable swappable for aarch64 (bug?)
- use polling getchar as serial interrupt is not implemented
2018-12-02 21:17:53 +08:00
equation314
66ac30d401 user: update make clean in kernel/ 2018-12-02 19:56:29 +08:00