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

1148 Commits

Author SHA1 Message Date
Yuhao Zhou
2b96462da3 Fix malta const. 2019-05-25 18:04:54 +08:00
BenjaminPMLovegood
d2f583a948 wrap init 2019-05-25 17:57:02 +08:00
Yuhao Zhou
65b121e55e Merge remote-tracking branch 'origin/dev' 2019-05-25 14:51:45 +08:00
Yuhao Zhou
0938a0cb58 Update malta consts. 2019-05-25 14:33:52 +08:00
BenjaminPMLovegood
335f4701eb modified 2019-05-25 14:28:55 +08:00
Jiajie Chen
35e909d96b Fix check_and_clone_cstr null check 2019-05-25 13:51:21 +08:00
Jiajie Chen
cd49ee5093 Fix x86_64 fb depth 2019-05-25 11:39:42 +08:00
Jiajie Chen
235005608d Do not hardcode fb addr in Vga 2019-05-25 08:29:54 +08:00
Jiajie Chen
30f94238b8 Yeild when polling for EAGAIN 2019-05-25 07:48:49 +08:00
Jiajie Chen
dcfb02c514 Add EAGAIN for nonblocking io and poll for file in read_at() 2019-05-24 20:53:13 +08:00
Jiajie Chen
22946c699d Allow ahci port init to fail 2019-05-24 19:21:48 +08:00
Jiajie Chen
0be1b1e56b Support 32bit MSI Addr 2019-05-24 16:45:28 +08:00
Jiajie Chen
e2bb86aa54 Get screen info from bootloader for vga 2019-05-24 16:20:25 +08:00
Jiajie Chen
aefbecb127 Merge remote-tracking branch 'origin/mgba' into dev 2019-05-24 15:21:07 +08:00
Jiajie Chen
e9c0bcadf7 Add graphic=console option and fix vga on x86_64 2019-05-24 15:20:39 +08:00
PanQL
fcc8fb4b2d
Merge branch 'mgba' into dev 2019-05-24 11:34:28 +08:00
PanQL
3b6d94efae simple ioctl for fb is reachable 2019-05-24 09:33:03 +08:00
Jiajie Chen
e22cfd9b30 Fix compilation for u540 2019-05-24 09:22:49 +08:00
Jiajie Chen
0971181473 Fix compilation for rv32 2019-05-24 09:09:35 +08:00
Jiajie Chen
c5acdb67e6 Fix compilation for merge and update vga buffer address 2019-05-24 08:57:21 +08:00
Jiajie Chen
53bb55b971 Merge remote-tracking branch 'origin/dev' into dev 2019-05-24 08:42:33 +08:00
Jiajie Chen
f410aef5bc Merge branch 'mipsel' into dev 2019-05-24 08:39:29 +08:00
Jiajie Chen
51c463e120 Remove non-AHCI pci id 2019-05-24 08:28:47 +08:00
Jiajie Chen
51868e1616 Eliminate some warnings 2019-05-23 23:31:36 +08:00
Jiajie Chen
d1d7fe44a7 Fix condvar race(maybe) 2019-05-23 23:21:02 +08:00
Jiajie Chen
f10421bf83 Revert "x86_64: enable interrupt during syscall. set TSS.sp0 through gs."
This reverts commit 72efa797e5.
2019-05-23 23:13:47 +08:00
PanQL
9740983b2d
Merge branch 'mgba' into dev 2019-05-23 21:11:13 +08:00
PanQL
a6f211cef5 fix mmap for framebuffer 2019-05-23 20:59:04 +08:00
WangRunji
1a377ca7c3 x86_64: update bootloader. fix on real machine 2019-05-23 16:46:00 +08:00
WangRunji
9dec0bbda5 simplify copy_from_user 2019-05-23 13:06:39 +08:00
Jiajie Chen
8b07e7d31c Fix extra parentheses 2019-05-23 08:20:00 +08:00
Harry Chen
3658e265a8 Update device tree file and add stub for SYS_RT_SIGQUEUE
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-05-23 02:19:42 +08:00
Harry Chen
0614e2b1aa Merge branch 'dev' into mipsel
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-05-22 23:38:21 +08:00
Jiajie Chen
6f5414c531 Split router ports into different ifaces 2019-05-22 18:25:51 +08:00
Jiajie Chen
20da06add5 Fix rcore router for linear mapping 2019-05-22 14:37:59 +08:00
Jiajie Chen
c67f00d7ca Use MaybeUninit for uninitialized 2019-05-22 14:23:04 +08:00
equation314
e63f11d199 console: support \t 2019-05-21 00:59:59 +08:00
equation314
97539dd760 aarch64: speed up page table map/unmap
1. update crate aarch64, call tlb_invalidate() instead of tlb_invalidate_all() in MapperFlush::flush().
2. reduce user stack size to 1MiB.
2019-05-21 00:46:12 +08:00
equation314
52251b2adb aarch64: refactor to linear mapping
TODO:
* `map`, `unmap` is significantly slower than other archs
* set segment permissions for kernel page table in bootloader
2019-05-20 21:51:53 +08:00
PanQL
f8c88baeea nonblock stdin for mgba keyboard support 2019-05-20 10:28:27 +08:00
BenjaminPMLovegood
469e866dca Merge branch 'geminilab' of github.com:GeminiLab/rCore into geminilab 2019-05-20 03:14:51 +08:00
BenjaminPMLovegood
e9588086be sd_init 2019-05-20 03:14:37 +08:00
NagiNikaido
62654b99f9 SEND_SCR done & bug fixed. 2019-05-20 00:22:53 +08:00
PanQL
f9734b6134 mmap support for mgba's partical redraw 2019-05-19 17:09:05 +08:00
PanQL
545d9d301c use copy_from_slice to speed up 2019-05-17 00:53:23 +08:00
Jiajie Chen
3cdd3231d8 Update enlarge heap and drivers provider 2019-05-16 08:47:22 +08:00
Jiajie Chen
41da379593 Use new check_and_clone_cstr{,array} 2019-05-16 00:49:46 +08:00
Jiajie Chen
14a01cf3fc Implement fixup for mipsel and small fixes 2019-05-16 00:28:29 +08:00
Jiajie Chen
6344f80a9b Support efault fixup for riscv 2019-05-15 23:12:06 +08:00
Jiajie Chen
92a9674f66 Implement efault detection by fixup 2019-05-15 22:45:09 +08:00
Harry Chen
fbca9a6e3a Add conditional compilation for mipsel, fix heap size for thinpad
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-05-14 00:21:04 +08:00
Harry Chen
22d29a6257 Revert "Revert "Fix trapframe.""
This reverts commit 6a83de7846.
2019-05-14 00:11:25 +08:00
Harry Chen
6544093dc6 Revert "Revert "Save/restore FP registers when context switching (broken mipsel arch)""
This reverts commit b8f4ee2ce8.
2019-05-14 00:11:22 +08:00
Harry Chen
b8f4ee2ce8 Revert "Save/restore FP registers when context switching (broken mipsel arch)"
This reverts commit d261b4e0b3.
2019-05-13 23:53:52 +08:00
Harry Chen
6a83de7846 Revert "Fix trapframe."
This reverts commit 297c9d453d.
2019-05-13 23:53:47 +08:00
Yuhao Zhou
297c9d453d Fix trapframe. 2019-05-13 22:20:52 +08:00
Harry Chen
d261b4e0b3 Save/restore FP registers when context switching (broken mipsel arch)
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-05-13 21:18:25 +08:00
PanQL
9e4a3f9662 create virtual vga file, now can draw fb on user state 2019-05-13 20:57:03 +08:00
NagiNikaido
8c3323c4d4 mutex added. 2019-05-13 13:47:33 +08:00
NagiNikaido
edf9cf1225 nearly done. it seems that the architecture is not applausible. rust sucks. 2019-05-13 05:04:18 +08:00
Yuhao Zhou
6add7002fd Update consts for MIPS.malta 2019-05-12 22:56:34 +08:00
Harry Chen
9203a612f8 Merge branch 'dev' into mipsel 2019-05-12 22:41:51 +08:00
Jiajie Chen
deba6e9204 Fix phys_to_virt 2019-05-12 15:32:30 +08:00
Jiajie Chen
221304d78a Use phys_to_virt and virt_to_phys to replace the use of KERNEL_OFFSET 2019-05-12 15:28:42 +08:00
Jiajie Chen
28652ef685 Fix rv mask 2019-05-12 07:14:30 +08:00
Jiajie Chen
ba8f9370ba Remove rv48 support, for it has no use and it's easy to add back when necessary 2019-05-12 01:46:55 +08:00
Jiajie Chen
5afd84e5d3 Finish rv64 with sv39 support 2019-05-12 01:44:49 +08:00
PanQL
9ac8f1b887 some work for console-vga(1024*7683) adaption 2019-05-12 01:43:02 +08:00
Jiajie Chen
26e47fc36f [WIP] Initial rv64 sv39 support 2019-05-12 01:11:53 +08:00
Jiajie Chen
0d801eceb5 [WIP] Fix rv32 serial interrupt 2019-05-11 23:12:05 +08:00
Jiajie Chen
f6a54c398d [WIP] rv32 can enter userland now 2019-05-11 23:10:19 +08:00
Jiajie Chen
cf6a7746f4 [WIP] update rv32 linear mapping 2019-05-11 22:50:41 +08:00
Yuhao Zhou
c1d139598c Merge remote-tracking branch 'origin/dev' into mipsel 2019-05-11 18:24:20 +08:00
Jiajie Chen
d66df43ec0 [WIP] rv32 linear mapping 2019-05-11 12:21:58 +08:00
WangRunji
c8262f936f fix paging for mips 2019-05-11 12:00:39 +08:00
WangRunji
cd22273ef9 refactor to linear mapping for x86_64 2019-05-11 01:06:44 +08:00
Jiajie Chen
8149793b9a Fix typo in mips paging 2019-05-10 17:34:18 +08:00
Harry Chen
75b67fa575 Replace \n to \r\n in serial driver
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-05-10 17:25:49 +08:00
PanQL
66b783de21 should not be so rude 2019-05-10 14:56:14 +08:00
WangRunji
6e5b3e2515 fix broken pipe status. rustc works now! 2019-05-10 12:28:37 +08:00
Jiajie Chen
6bb11a5433 Reset router tx/rx fifo and fix tx length 2019-05-10 08:10:03 +08:00
WangRunji
fbd2aef916 fix page table racing by adding a global mutex 2019-05-10 00:11:09 +08:00
WangRunji
ba8d08d733 fix Process dropping by making proc.parent a weak reference 2019-05-09 23:56:39 +08:00
WangRunji
9df9d01e68 impl deadlock detection 2019-05-09 22:27:44 +08:00
WangRunji
d28f54ce32 show tid on log 2019-05-09 21:33:26 +08:00
PanQL
a0fc201695 set up vga 320x200 2019-05-09 21:16:25 +08:00
Jiajie Chen
2653069a43 Implement tx for router driver 2019-05-09 17:54:10 +08:00
Jiajie Chen
5932372750 Initial rcore router device support 2019-05-09 17:08:28 +08:00
Harry Chen
324b64c2ed Merge remote-tracking branch 'rcore/dev' into dev 2019-05-09 10:24:12 +08:00
Harry Chen
887a207c8b Run cargo fmt
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-05-09 10:12:19 +08:00
Harry Chen
5b53e86c41 Merge remote-tracking branch 'origin/dev' into mipsel 2019-05-09 10:05:32 +08:00
WangRunji
75919dce41 x86_64: simplify IPI 2019-05-08 23:07:58 +08:00
Jiajie Chen
2adbc4dcd9 Format code and use rust/sh for rocket chip shell 2019-05-08 20:54:18 +08:00
gjz010
c88c0193d4 x86_64: impl IPI and remote flush tlb
Signed-off-by: WangRunji <wangrunji0408@163.com>
2019-05-08 19:36:10 +08:00
Jiajie Chen
e3595dd0f5 Implement sys_copy_file_range and use it for sendfile 2019-05-08 19:23:07 +08:00
chyyuu
ccc7eea114 add ioctl request id: FIONBIO (no real action, just return Ok(0)). p.s. for rustc 2019-05-08 19:08:04 +08:00
chyyuu
d9d21a3db1 fix bug: sys_futex should not check timeout parameter for musl libc 1.1.22 2019-05-08 16:39:34 +08:00
chyyuu
252449a198 Merge branch 'dev' of github.com:rcore-os/rCore into dev 2019-05-08 13:18:35 +08:00
chyyuu
2fa3338b4f add unimplemented syscall SYS_MEMNARRIER from musl-1.1.22 with pthread OPs 2019-05-08 13:18:04 +08:00
chyyuu
537eecaf5e fix bug: the values of CloneFlags 2019-05-08 13:16:00 +08:00
Jiajie Chen
2e599b0bab Fix Rocket Chip serial interrupt 2019-05-08 11:02:23 +08:00
Yuhao Zhou
77ba66a0a3 Update page table. 2019-05-08 05:41:01 +08:00
Yuhao Zhou
cc5bb8a81f Fix alignment issue in TrapFrame. 2019-05-08 00:31:44 +08:00
equation314
2fb09109bb Fix wrong display in console driver 2019-05-08 00:04:41 +08:00
equation314
03a8b3e449 aarch64: disable FP/SIMD registers again, update crates 2019-05-07 22:37:53 +08:00
Harry Chen
c59cbe0dbc Fix stack alignment problem for MIPS N32 ABI, and fix alignment problem in CharAttribute
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-05-07 19:50:48 +08:00
Harry Chen
378daa6c9b Fix bugs in Console, repr(C) is TOO EVILgit add src/!
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-05-07 17:23:54 +08:00
Jiajie Chen
2f2cbb81ac Embed rocket chip dtb in code 2019-05-07 08:40:43 +08:00
Yuhao Zhou
59c1746491 Update default shell. 2019-05-07 00:47:10 +08:00
equation314
bfe03b8ea0 aarch64: fix vm clone fault in fork 2019-05-06 23:30:01 +08:00
Jiajie Chen
35079e4193 Bump buddy system allocator 2019-05-06 12:15:21 +08:00
Jiajie Chen
056c2c5a36 Fix thinpad shell 2019-05-06 11:38:53 +08:00
Jiajie Chen
af5c6ee237 Fix compilation on thinpad 2019-05-06 11:35:43 +08:00
Jiajie Chen
073108e0f8 Fix compilation on mipsel 2019-05-06 11:03:31 +08:00
Jiajie Chen
b2777032c8 Merge remote-tracking branch 'origin/mipsel' into dev 2019-05-06 10:58:27 +08:00
Harry Chen
e94fe1564e Init console on ThinPad, seems not wworking properly
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-05-06 10:48:27 +08:00
BenjaminPMLovegood
dbf4928c77 finish some functions 2019-05-06 01:21:48 +08:00
NagiNikaido
7c36581002 timeout_wait done 2019-05-06 00:08:50 +08:00
BenjaminPMLovegood
6520a1e5c7 . 2019-05-05 23:49:01 +08:00
NagiNikaido
dc4875c3b3 sd_cmd const done. 2019-05-05 23:38:51 +08:00
BenjaminPMLovegood
aad5175dbd added consts 2019-05-05 22:59:09 +08:00
NagiNikaido
613102287f struct emmc to be filled. 2019-05-05 22:38:25 +08:00
NagiNikaido
24e3163067 todo-list for emmc.rs 2019-05-05 17:52:18 +08:00
BenjaminPMLovegood
682f772eb8 begin translation 2019-05-05 17:44:03 +08:00
WangRunji
d10e17eb06 fix rv64 stack pointer alignment 2019-05-05 15:30:28 +08:00
BenjaminPMLovegood
8ecefc519f remove some unknown codes and update user submodule 2019-05-05 03:45:01 +08:00
BenjaminPMLovegood
5be9ae7775 Merge branch 'dev' into geminilab 2019-05-05 03:40:18 +08:00
BenjaminPMLovegood
f9bdcc7cd9 add emmc file. waiting for merging main repo. 2019-05-05 03:21:07 +08:00
WangRunji
3af0cf7e16 fix warnings 2019-05-04 15:27:17 +08:00
WangRunji
b2de8dc9e6 fix page table racing on multi-thread 2019-05-04 14:36:12 +08:00
WangRunji
da58486be5 refactor syscall: move all context and functions to struct Syscall 2019-05-04 13:16:42 +08:00
WangRunji
08d10522ff impl sys_set_tid_address. ignore invalid 'clear_child_tid' on exit 2019-05-04 00:20:19 +08:00
WangRunji
98a99e33c6 fix '/proc/self/fd' panic 2019-05-03 15:45:39 +08:00
Jiajie Chen
f1971c489a Fix riscv32 testing 2019-05-03 15:17:06 +08:00
Jiajie Chen
7331404fc7 Fix /proc/self/fd not found panic 2019-05-03 15:00:45 +08:00
Jiajie Chen
6d14fbf3db Fix typo in ioctl 2019-05-03 14:32:06 +08:00
Jackey-Huo
c63831870d remove the fxxk words.... 2019-05-03 14:06:00 +08:00
Jackey-Huo
f25faef01c Merge branch 'dev' of github.com:rcore-os/rCore into dev 2019-05-03 13:55:51 +08:00
chyyuu
19200e40d0 impl pseudo INode '/proc/self/fd/FD_NUM' for rustc app 2019-05-03 13:06:18 +08:00
Jackey-Huo
6ec65b3c1d Merge branch 'dev' of github.com:rcore-os/rCore into dev 2019-05-03 11:40:06 +08:00
Jiajie Chen
28aaae53b9 Refactor ioctl numbers and add FIOCLEX 2019-05-03 11:33:56 +08:00
Jackey-Huo
e91718648e add htif read function for rocket-chip 2019-05-03 11:33:44 +08:00
WangRunji
6883127d5a update fs. add BlockCache 2019-05-03 00:35:00 +08:00
Jackey-Huo
e594a4af32 stage debug code for output 2019-05-02 21:32:19 +08:00
Jiajie Chen
feae733bb9 Implement poll for pipes 2019-05-02 15:52:56 +08:00
Jiajie Chen
64b383b69c Save path even in release mode 2019-05-02 15:47:10 +08:00
Jiajie Chen
ad2f02388c Fix compilation on mipsel 2019-05-02 15:18:41 +08:00
Jiajie Chen
81fde731d0 Save and log file paths on sys_open and sys_close 2019-05-02 15:07:06 +08:00
WangRunji
6c988c4bfd note potential lost wakeup problem in Condvar. fix some use case. 2019-05-01 23:37:07 +08:00
Jiajie Chen
8651f09b31 Automatically enlarge heap when kernel heap is about to run out 2019-05-01 18:33:55 +08:00
WangRunji
54de0d8ae7 remove once crate. fix bitvec crate commit id. 2019-05-01 00:18:11 +08:00
Jiajie Chen
2f6f8ef9bc Add syscall timing using rdtsc 2019-04-30 21:32:32 +08:00
WangRunji
ba74f93ab8 x86_64: shrink kernel heap size and remove 'enlarge_heap' 2019-04-30 19:31:08 +08:00
WangRunji
bc1bad3060 optimize sys_exec: only read ELF header 2019-04-30 19:21:14 +08:00
WangRunji
c885ea6d77 impl pseudo INode '/proc/self/exe' 2019-04-30 17:37:18 +08:00
Jiajie Chen
bd158e4e74 Do not panic when exec file is invalid 2019-04-30 17:10:35 +08:00
WangRunji
60cdea81d9 fix check user ptr across VMAs 2019-04-30 16:30:00 +08:00
WangRunji
a25c8132fe delay mapping file 2019-04-30 15:02:52 +08:00
Harry Chen
582268ec21 Enable framebuffer support for thinpad
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-30 13:31:14 +08:00
WangRunji
88e1055eed refactor fork MemorySet, introduce clone_map to MemoryHandler 2019-04-30 11:34:31 +08:00
Yuhao Zhou
2140ec6bef Add thinpad settings. 2019-04-30 06:34:34 +08:00
WangRunji
8024401bd2 simplify x86_64 consts. keep MemoryArea order by start address 2019-04-30 01:45:01 +08:00
Yuhao Zhou
b45d75c168 Align base address in init_heap(). 2019-04-30 00:10:39 +08:00
Yuhao Zhou
cbad1f2ceb Update simple_uart 2019-04-29 11:55:58 +08:00
Jiajie Chen
ae4badb3cd Force python3.7 for make addr2line 2019-04-29 10:45:04 +08:00
Jiajie Chen
e5894b652c Format code 2019-04-29 10:20:51 +08:00
WangRunji
72efa797e5 x86_64: enable interrupt during syscall. set TSS.sp0 through gs. 2019-04-29 02:50:37 +08:00
WangRunji
5bc6395b23 fix sys_exec 2019-04-29 01:30:57 +08:00
WangRunji
27f5c7b2e4 detach thread to auto recycle tid. fix #25 2019-04-28 23:34:45 +08:00
Harry Chen
ff0fa24897 Move kernel to the beginning of physical memory to save space
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-28 20:28:58 +08:00
Jiajie Chen
fc60d2cea2 Do not poll unrelated files in sys_select 2019-04-28 19:54:42 +08:00
Harry Chen
a744131663 Fix compilation error for thinpad
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-28 17:28:17 +08:00
WangRunji
58271c7c8a convert user ptr to reference on check 2019-04-28 17:16:07 +08:00
Jiajie Chen
cd2c78dd46 Add Rocket Chip platform in README 2019-04-27 23:04:10 +08:00
Jiajie Chen
bfd4f8a2a4 Add initial support for Rocket Chip platform 2019-04-27 23:01:44 +08:00
chyyuu
28dbfd66b9 add more comments and CHANGE Fn name: run_user_shell TO add_user_shell 2019-04-27 15:57:34 +08:00
chyyuu
c853eda9b3 disable so many wait4 LOG info 2019-04-26 18:58:42 +08:00
chyyuu
1974cc5853 add syscall: sys_getrandom for python3, etc. 2019-04-26 18:57:54 +08:00
chyyuu
88b54fdacd fix unknow bug: change busybox from docker, maintain the PATH env vars 2019-04-26 14:13:07 +08:00
WangRunji
ab62d542fd allocate pid independently from tid. fix sys_fork return value. 2019-04-26 11:22:27 +08:00
chyyuu
091902ae0d set 'busybox ash' dynamic-linked app from alpine linux as the default init shell in x86_64 environment 2019-04-26 08:38:53 +08:00
chyyuu
aaf9d49fba Merge branch 'dev' of github.com:rcore-os/rCore into dev 2019-04-26 02:35:09 +08:00
chyyuu
0d790f2dc5 add LOG info in sys_exec and new_user, add env var in run_user_shell 2019-04-26 02:34:42 +08:00
WangRunji
b0a1614b75 reorder syscall by function 2019-04-26 01:25:27 +08:00
chyyuu
d8147bd955 fix bug:sys_sendfile: the return value: the length of written file 2019-04-25 23:28:03 +08:00
chyyuu
bac9e77be1 fix bug: sys_sendfile: wrong length of written file 2019-04-25 23:14:23 +08:00
chyyuu
734e01cc46 fix bug: sys_mmap didn't zero clean the anonymous memory
We can use delay mode or eager mode(in added comment codes)
WRJ's great work!
2019-04-25 16:00:29 +08:00
chyyuu
5080ee2579 add log info for envs in new_user function 2019-04-25 10:56:13 +08:00
WangRunji
45c2ec0b17 works on K210! 2019-04-21 23:48:46 +08:00
WangRunji
1e5f901926 shrink kstack size, avoid alloc kstack for init thread 2019-04-21 23:48:46 +08:00
NagiNikaido
5337852270 Merge for #3. 2019-04-21 20:05:05 +08:00
chyyuu
683814d24c Merge branch 'dev' of github.com:rcore-os/rCore into dev 2019-04-21 17:08:41 +08:00
chyyuu
144090e42d add syscall: sys_times partial implementation 2019-04-21 17:07:40 +08:00
Jiajie Chen
cf3fd0ec93 Fix ioctl numbers and sys_poll for mipsel 2019-04-21 15:45:26 +08:00
Jiajie Chen
c9303466b4 Merge branch 'mipsel' into dev 2019-04-21 15:05:55 +08:00
NagiNikaido
1bfb979d96 Upd. #2 2019-04-21 14:32:24 +08:00
Yuhao Zhou
218bb29cf3 Fix TimeSpec type. 2019-04-21 14:30:02 +08:00
Jiajie Chen
96e393ecd4 Append kernel image to fu540.elf, but still not working on HfU 2019-04-20 16:41:52 +08:00
WangRunji
c34a420a39 move font8x16 data from code to file 2019-04-20 16:31:18 +08:00
chyyuu
3eddda4000 Merge branch 'dev' of github.com:rcore-os/rCore into dev 2019-04-20 09:37:44 +08:00
chyyuu
00685d9205 set 8MB user stack size, add more flags for sys_clone
8MB is the default linux app stack size on x86_64.
gcc app in alpine linux call sys_clone with flags 0x5d0f00.

In case of supporting more other potential flags,
use panic! instead of warn!, then we can get timely panic-style info.

Now python2 hello.py can run correctly, but only one time.
I guess the memory management has some problem,
maybe there are some memory leak.
2019-04-20 09:32:42 +08:00
WangRunji
e01d23e526 replace riscv-pk by OpenSBI ! 2019-04-20 00:15:55 +08:00
Jiajie Chen
1fd0060a1a Fix typo 2019-04-19 13:43:31 +08:00
WangRunji
8090e154c1 simplify sys_sendfile. check elf arch 2019-04-19 12:43:12 +08:00
Jiajie Chen
8494bf9b0c Fix sys_sendfile args 2019-04-19 12:34:27 +08:00
Jiajie Chen
7ce2fca209 Fix ls -al for symlinks 2019-04-19 09:17:27 +08:00
Jiajie Chen
229c64cc7d Fix IoVec length type 2019-04-19 08:42:44 +08:00
WangRunji
f74a3b8e8b by default: use busybox sh, disable log, build in release mode 2019-04-19 00:37:30 +08:00
WangRunji
520bb2d957 change args from Iter to Vec<String> 2019-04-18 20:24:36 +08:00
Jiajie Chen
0ff24fe589 Implement env support in sys_exec 2019-04-18 17:43:35 +08:00
Yuhao Zhou
d2f2fa3d97 Two syscall for mips. 2019-04-17 17:42:05 +08:00
Yuhao Zhou
3e7dd81dec Add lstat, fix timespec for musln32. 2019-04-17 17:37:28 +08:00
chyyuu
aa5d0028f0 add unimplemented syscalls: SYS_GETGROUPS, SYS_SETGROUPS. Now busybox:id can run. 2019-04-17 16:37:09 +08:00
chyyuu
56e472c8f8 fix bug: sys_exec should name as exec_path, then loader can find the exec file.
items of VEC args from argv is the args lists, and args[0] isn't the complete exec_path.
the new_user function should add exec_path as a new args.

BUGS:
ls app doesn't show any thing. Why?
2019-04-17 14:59:06 +08:00
Jiajie Chen
ff50a45396 Now ready to use busybox sh for user shell 2019-04-17 08:16:02 +08:00
Jiajie Chen
1bba33a05f Implement sys_ppoll over sys_poll 2019-04-17 01:16:27 +08:00
Jiajie Chen
9b6e963b19 Add missing constants 2019-04-17 01:01:11 +08:00
WangRunji
48c40497ac update crate uart_16550 to v0.2. deny unused_must_use. 2019-04-17 00:46:48 +08:00
WangRunji
b566925626 fix Makefile on RISCV and PC 2019-04-17 00:45:44 +08:00
Jiajie Chen
69449d4eb1 Pretend stdin/stdout as a tty 2019-04-17 00:44:11 +08:00
Jiajie Chen
b5f194d20f Fix get_ppid for init process 2019-04-17 00:28:34 +08:00
chyyuu
594cc3e16f fix bugs about cpu num config (x86-64)
TODO:
Unfixed bugs: rcore can not identify the hyperthread-mode cpus(i9-9900k) and dead.
2019-04-16 18:13:55 +08:00
Jiajie Chen
9d84684570 Remove wrongly commited u-boot.bin 2019-04-16 10:09:25 +08:00
Jiajie Chen
9aa24ccacb Merge branch 'dev' 2019-04-16 10:08:27 +08:00
Jiajie Chen
8115256162 Check exec args 2019-04-16 10:05:42 +08:00
Yuhao Zhou
189c4aa5c6 Support sys_pipe for MIPS. 2019-04-16 02:42:44 +08:00
Yuhao Zhou
f5fe3ce4f3 Move userstack to 0x60000000. 2019-04-16 02:10:36 +08:00
Yuhao Zhou
9532311c1e Copy TLS data in sys_fork. 2019-04-16 01:31:00 +08:00
chyyuu
6f5faf422d add Makefile info about creating disk.img for real pc with x86_64 cpu 2019-04-16 00:11:35 +08:00
WangRunji
f88cffb8ab fix bitvec version 2019-04-15 22:08:20 +08:00
NagiNikaido
ae710ca08d Toolchain version updated to nightly-2019-04-14. Bitvec commit id updated. 2019-04-15 21:08:02 +08:00
Yuhao Zhou
dc90cb5a8d Fix pgfault, fstat syscall convention. biscuit/ls works! 2019-04-15 18:09:48 +08:00
Yuhao Zhou
9075a172ad Fix iovec size for MIPSn32. 2019-04-15 15:45:09 +08:00
Yuhao Zhou
bfa4c9d47e Support TLS for MIPS. 2019-04-15 14:14:07 +08:00
Yuhao Zhou
657395784d Fix compile errors. 2019-04-15 13:02:06 +08:00
NagiNikaido
de02024b77
Merge pull request #1 from rcore-os/dev
Dev branch sync.
2019-04-15 10:52:08 +08:00
NagiNikaido
c3813c4b38 BUGFIX: rewrited sys_chdir(). 2019-04-15 00:41:28 +08:00
WangRunji
3556c758db impl more file system *at syscalls 2019-04-14 15:47:42 +08:00
WangRunji
fe0045c0c9 remove legacy 'is32' code 2019-04-12 19:23:45 +08:00
WangRunji
e12074c936 replace gnu binutils with cargo-binutils 2019-04-12 00:23:34 +08:00
Yuhao Zhou
d46c10a0a2 Merge branch 'mipsel' of github.com:oscourse-tsinghua/rcore_plus into mipsel 2019-04-10 00:40:54 +08:00
Yuhao Zhou
d6ce309247 Fix some review issues. 2019-04-10 00:38:31 +08:00
Jiajie Chen
41dab25f9c Merge remote-tracking branch 'origin/master' into dev 2019-04-09 20:30:30 +08:00
Harry Chen
75ba0859cf Run cargo fmt
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-09 17:08:04 +08:00
Harry Chen
9b5f7b8078 Use host gcc for preprocessing in makefile
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-09 17:06:33 +08:00
Harry Chen
801b2e609a Fix makefile for aarch64
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-09 16:16:09 +08:00
Harry Chen
aa9bf593e2 Fix Makefile for aarch64, install dtc in travis config
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-09 13:47:04 +08:00
Harry Chen
4fc32572b0 Fix some review problems, add mispel arch to CI
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-09 13:31:56 +08:00
Harry Chen
358e682bad Enable PCI initialization for matal, update mips crate and user app repo
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-09 01:08:49 +08:00
Yuhao Zhou
067d4d1193 Merge branch 'mipsel' of github.com:oscourse-tsinghua/rcore_plus into mipsel 2019-04-08 22:36:15 +08:00
Yuhao Zhou
9078190e28 Fix many bugs.
* timer counter overflow
* clear TLB when switching context
* fix cp0.ebase access (sel = 1)
* clear TLB when editing page table
2019-04-08 22:35:02 +08:00
Harry Chen
39a4dd2ff0 Fix VGA driver, now screen lightens on malta!
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-08 20:53:14 +08:00
Yuhao Zhou
2baf15acac Update kstack switch. 2019-04-08 14:29:27 +08:00
Yuhao Zhou
4a81242552 Fix kstack switch. 2019-04-08 12:50:30 +08:00
Yuhao Zhou
248623096b Merge branch 'mipsel' of github.com:oscourse-tsinghua/rcore_plus into mipsel 2019-04-08 04:49:22 +08:00
Yuhao Zhou
b6aa9858d3 Fix return register in sys_clone. 2019-04-08 04:47:36 +08:00
Harry Chen
7e3d26ce6b Add debug output for qemu vga driver, still not working...
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-08 03:59:42 +08:00
Harry Chen
a57a22a26b Fix VGA initialization with correct PCI address
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-08 03:18:31 +08:00
Harry Chen
8754a6eb15 Add PCI initialization in QEMU stdvga
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-08 03:03:35 +08:00
Harry Chen
c32b0d6bee Add VGA implementation for mipsel malta board
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-08 02:06:30 +08:00
Harry Chen
4e72c66087 Merge branch 'mipsel' of github.com:oscourse-tsinghua/rcore_plus into mipsel 2019-04-08 01:45:57 +08:00
Harry Chen
df3eb0e1da Add ColorConfig support to framebuffer driver
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-08 01:30:25 +08:00
Yuhao Zhou
684a2c5dd8 Fix syscall return register. 2019-04-08 01:00:26 +08:00
Harry Chen
706f7e4e9a Fix UART controller for malta, now input works!
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-07 18:52:10 +08:00
Harry Chen
ecdbc9fd7a Switch to uart2 on malta to get interrupts (not working)
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-07 18:36:29 +08:00
Harry Chen
b1fa65b9c9 Use syscall from MIPS o32 ABI, read boot command line in dts from
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-07 18:04:28 +08:00
Harry Chen
88bda7c4a0 Use Linux syscall number for mips N32 ABI, update user app
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-07 17:08:03 +08:00
Harry Chen
a0f298f6dd Use MIPS N32 abi for syscall handling
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-07 16:21:15 +08:00
Yuhao Zhou
9d576b4827 Update Cargo.lock for rust-mips. 2019-04-07 04:21:35 +08:00
Yuhao Zhou
da8d32c0cf Update syscall convention. 2019-04-07 04:20:17 +08:00
Yuhao Zhou
94d4d01cd5 Merge branch 'mipsel' of github.com:oscourse-tsinghua/rcore_plus into mipsel 2019-04-07 02:46:21 +08:00
Yuhao Zhou
f535073fbc Support user thread. 2019-04-07 02:45:41 +08:00
Jiajie Chen
2c3a4d75dd implement getaddr for netlink, ip l/ip a is working now 2019-04-07 02:19:07 +08:00
Jiajie Chen
a7a8c3aa92 implement getlink for netlink 2019-04-07 01:59:23 +08:00
Harry Chen
bb123add18 Eliminate multiple warnings, update user app repo
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-07 01:32:32 +08:00
Yuhao Zhou
fbc421ee4c Fix trapframe size. 2019-04-06 23:50:05 +08:00
Harry Chen
a2e98d73fd Extract serial driver and add mipssim board for mipsel
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-06 21:59:16 +08:00
Yuhao Zhou
3d083eec0c Fix pgfault handler. 2019-04-06 21:08:36 +08:00
Yuhao Zhou
5e44304f74 Fix root page table ptr/buffer. 2019-04-06 20:26:10 +08:00
Yuhao Zhou
1f8b73744c Disable multi-CPU. 2019-04-06 19:26:14 +08:00
Harry Chen
bb374ba4bd Mock a Mutex for serial on thinpad
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-06 17:17:20 +08:00
Harry Chen
fedb53346a Update mips crate
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-06 15:46:08 +08:00
Harry Chen
62fe4e5361 Update rust-mips crate
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-06 14:45:28 +08:00
Harry Chen
48864bd79b Add more output to backtrace, revert fs change, update rust-mips
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-06 14:43:10 +08:00
Jiajie Chen
1f99f1270a Implement recvmsg syscall for netlink 2019-04-06 14:21:35 +08:00
Harry Chen
d05c4cf09e Merge branch 'mipsel' of github.com:oscourse-tsinghua/rcore_plus into mipsel 2019-04-06 14:17:24 +08:00
Harry Chen
b75e388aa1 Fix backtrace for mipsel
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-06 14:15:55 +08:00
Jiajie Chen
6335597897 Add netlink socket skeleton 2019-04-06 13:33:17 +08:00
Yuhao Zhou
6038004576 Add page table lookup in pagefault. 2019-04-06 11:59:22 +08:00
Harry Chen
6cc607e0c8 Make aarch64 and mipsel use img instead of qcow
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-06 11:20:50 +08:00
Yuhao Zhou
9a9e8048cb Move text base to higher location to avoid colliding with qemu BIOS 2019-04-06 03:22:26 +08:00
Yuhao Zhou
fb08410cb5 Fix paging bug. 2019-04-06 02:46:40 +08:00
Harry Chen
6e2947ac56 Fix uart address definition on thinpad
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-06 02:43:00 +08:00
Harry Chen
96caa80914 Extract some board-specfic constants
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-06 02:20:49 +08:00
Yuhao Zhou
26a5847a0a Merge branch 'mipsel' of github.com:oscourse-tsinghua/rcore_plus into mipsel 2019-04-06 02:11:21 +08:00
Yuhao Zhou
cbb4431231 Fix memory size. 2019-04-06 02:10:30 +08:00
Harry Chen
c3e94d38ae Fix early uart on malta, now malta board can print things!
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-06 01:57:23 +08:00
Harry Chen
06f7b1643d Fix makefile options for mipsel
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-06 00:58:32 +08:00
Harry Chen
f5227e28d3 Fix register naming in backtrace
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-06 00:55:08 +08:00
Yuhao Zhou
7c20ebf6e0 Remove dtb.S. 2019-04-06 00:48:24 +08:00