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