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

179 Commits

Author SHA1 Message Date
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
Jiajie Chen
2e599b0bab Fix Rocket Chip serial interrupt 2019-05-08 11:02:23 +08:00
Jiajie Chen
2f2cbb81ac Embed rocket chip dtb in code 2019-05-07 08:40:43 +08:00
Jiajie Chen
f1971c489a Fix riscv32 testing 2019-05-03 15:17:06 +08:00
Jiajie Chen
2f6f8ef9bc Add syscall timing using rdtsc 2019-04-30 21:32:32 +08:00
Jiajie Chen
ae4badb3cd Force python3.7 for make addr2line 2019-04-29 10:45:04 +08:00
Jiajie Chen
bfd4f8a2a4 Add initial support for Rocket Chip platform 2019-04-27 23:01:44 +08:00
WangRunji
b0a1614b75 reorder syscall by function 2019-04-26 01:25:27 +08:00
WangRunji
45c2ec0b17 works on K210! 2019-04-21 23:48:46 +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
e01d23e526 replace riscv-pk by OpenSBI ! 2019-04-20 00:15:55 +08:00
WangRunji
f74a3b8e8b by default: use busybox sh, disable log, build in release mode 2019-04-19 00:37:30 +08:00
WangRunji
b566925626 fix Makefile on RISCV and PC 2019-04-17 00:45:44 +08:00
Jiajie Chen
9aa24ccacb Merge branch 'dev' 2019-04-16 10:08:27 +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
e12074c936 replace gnu binutils with cargo-binutils 2019-04-12 00:23:34 +08:00
Jiajie Chen
41dab25f9c Merge remote-tracking branch 'origin/master' into dev 2019-04-09 20:30:30 +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
Yuhao Zhou
684a2c5dd8 Fix syscall return register. 2019-04-08 01:00:26 +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
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
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
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
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
65d6fb5b1e Use gcc to pre-process mipsel assembly
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-06 00:24:01 +08:00
Jiajie Chen
58932e0bee Add uboot instructions 2019-04-05 23:31:02 +08:00
Jiajie Chen
b0c9087f0f Implement ioctl arp translation 2019-04-05 01:16:26 +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
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
Jiajie Chen
ca45848028 Add extra_nic option 2019-04-02 08:27:02 +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
a78916c57e Add MIPS target. 2019-03-31 22:04:22 +08:00
Jiajie Chen
2da17d7fcd Replace IDE with AHCI driver 2019-03-30 10:03:08 +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
equation314
e4df6d6788 Fix bootloader build failure on aarch64 2019-03-27 12:08:02 +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
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
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
WangRunji
f6352b2688 fix serial interrupt on HiFiveU 2019-03-19 18:23:10 +08:00
WangRunji
d0202c945e test and fix something on HiFiveU 2019-03-18 18:24:58 +08:00
WangRunji
17e644e54e unimportant changes 2019-03-18 00:18:03 +08:00
equation314
18626a2a19 Merge branch 'bootloader' into biscuit 2019-03-17 15:53:37 +08:00
WangRunji
a3edd38046 fix VGA color on x86_64 2019-03-16 15:54:43 +08:00
equation314
8bb1e65ba7 load kernel elf in bootloader 2019-03-06 00:46:01 +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
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
197bebb1d2 Implement pci bus probing and fix a bug in virtio_mmio 2019-02-25 19:12:41 +08:00
WangRunji
c69386fbc2 add rcore-user submodule 2019-02-21 18:35:10 +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
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
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
WangRunji
2d5178d0b7 rename ucore to rcore 2019-01-03 21:26:50 +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
WangRunji
e46b6c7b0c move target json. add kflash.py 2019-01-01 01:53:33 +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
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
dzy
a4348428a6 can run until update 2018-12-26 13:58:08 +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
equation314
aa5bd3041b Merge branch 'master' into arch-aarch64 2018-12-20 23:07:16 +08:00
equation314
a55f3b61e6 add Makefile option graphic & cargo feature nographic 2018-12-20 19:05:19 +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
81af2c82fd aarch64: reduce some warnings, config system/generic timer in Makefile 2018-12-11 16:58:04 +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
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
equation314
66ac30d401 user: update make clean in kernel/ 2018-12-02 19:56:29 +08:00
equation314
710b6d1a28 user: update Makefiles 2018-12-02 19:51:52 +08:00
WangRunji
b5ced136f7 fix merge compile error 2018-12-02 00:58:15 +08:00
WangRunji
2afe8c731e Merge remote-tracking branch 'equation314/arch-aarch64' into dev
# Conflicts:
#	crate/memory/src/memory_set.rs
#	kernel/Cargo.lock
#	kernel/src/arch/aarch64/interrupt/handler.rs
#	kernel/src/arch/aarch64/interrupt/mod.rs
#	kernel/src/arch/aarch64/memory.rs
#	kernel/src/arch/aarch64/mod.rs
#	kernel/src/arch/aarch64/paging.rs
#	kernel/src/consts.rs
#	kernel/src/fs.rs
#	kernel/src/lib.rs
#	kernel/src/memory.rs
#	kernel/src/process/context.rs
#	tools/riscv-pk/.gitignore
#	tools/riscv-pk/LICENSE
#	tools/riscv-pk/Makefile.in
#	tools/riscv-pk/README.md
#	tools/riscv-pk/aclocal.m4
#	tools/riscv-pk/bbl/bbl.ac
#	tools/riscv-pk/bbl/bbl.c
#	tools/riscv-pk/bbl/bbl.h
#	tools/riscv-pk/bbl/bbl.lds
#	tools/riscv-pk/bbl/bbl.mk.in
#	tools/riscv-pk/bbl/logo.c
#	tools/riscv-pk/bbl/payload.S
#	tools/riscv-pk/bbl/raw_logo.S
#	tools/riscv-pk/bbl/riscv_logo.txt
#	tools/riscv-pk/config.h.in
#	tools/riscv-pk/configure
#	tools/riscv-pk/configure.ac
#	tools/riscv-pk/dummy_payload/dummy_entry.S
#	tools/riscv-pk/dummy_payload/dummy_payload.lds
#	tools/riscv-pk/dummy_payload/dummy_payload.mk.in
#	tools/riscv-pk/machine/atomic.h
#	tools/riscv-pk/machine/bits.h
#	tools/riscv-pk/machine/disabled_hart_mask.h
#	tools/riscv-pk/machine/emulation.c
#	tools/riscv-pk/machine/emulation.h
#	tools/riscv-pk/machine/encoding.h
#	tools/riscv-pk/machine/fdt.c
#	tools/riscv-pk/machine/fdt.h
#	tools/riscv-pk/machine/finisher.c
#	tools/riscv-pk/machine/finisher.h
#	tools/riscv-pk/machine/flush_icache.c
#	tools/riscv-pk/machine/htif.c
#	tools/riscv-pk/machine/htif.h
#	tools/riscv-pk/machine/machine.ac
#	tools/riscv-pk/machine/machine.mk.in
#	tools/riscv-pk/machine/mcall.h
#	tools/riscv-pk/machine/mentry.S
#	tools/riscv-pk/machine/minit.c
#	tools/riscv-pk/machine/misaligned_ldst.c
#	tools/riscv-pk/machine/mtrap.c
#	tools/riscv-pk/machine/mtrap.h
#	tools/riscv-pk/machine/muldiv_emulation.c
#	tools/riscv-pk/machine/uart.c
#	tools/riscv-pk/machine/uart.h
#	tools/riscv-pk/machine/uart16550.c
#	tools/riscv-pk/machine/uart16550.h
#	tools/riscv-pk/machine/unprivileged_memory.h
#	tools/riscv-pk/machine/vm.h
#	tools/riscv-pk/scripts/config.guess
#	tools/riscv-pk/scripts/config.sub
#	tools/riscv-pk/scripts/install.sh
#	tools/riscv-pk/scripts/mk-install-dirs.sh
#	tools/riscv-pk/scripts/vcs-version.sh
#	tools/riscv-pk/util/snprintf.c
#	tools/riscv-pk/util/string.c
#	tools/riscv-pk/util/util.mk.in
2018-12-02 00:27:10 +08:00
equation314
7855b70bc0 aarch64: add origin raspberrypi config.txt 2018-12-01 23:30:53 +08:00
WangRunji
fcf5074500 impl M-mode kernel for riscv32 2018-12-01 17:37:37 +08:00
WangRunji
a74b893bd2 update Makefile 2018-11-29 21:39:43 +08:00
equation314
f882a085d6 user: link created SFS image in kernel 2018-11-29 17:33:31 +08:00
equation314
94bc8353f7 user: create SFS image in Makefile 2018-11-29 12:49:58 +08:00
WangRunji
02eb7d9125 update 'riscv-pk' to upstream submodule 2018-11-29 00:00:52 +08:00