From 05d34106ce9b90eaccb2efe207b1d6e172807cb0 Mon Sep 17 00:00:00 2001 From: Yifan Wu Date: Thu, 7 Jan 2021 17:49:44 +0800 Subject: [PATCH 1/5] Update wyfcyx/rustsbi fb6af33f. --- bootloader/rustsbi-k210.bin | Bin 73732 -> 73732 bytes bootloader/rustsbi-qemu.bin | Bin 65480 -> 65704 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/bootloader/rustsbi-k210.bin b/bootloader/rustsbi-k210.bin index 160e243911d5e2a7a073df8c138cee4b333ee9a8..d83a7a0e823564a377ee6cd92ced36046342279d 100755 GIT binary patch delta 133 zcmZoUz|wMnWy22LjHcCbhW9c|gi7eDWQoIZSE3ldF`0x?DE%s4P3oqMMtlKk2I? k7sG_-3=IrG;5hl_^K`}!lO11(Pj+~&!T4cw=Zk7{0J|MAp#T5? delta 145 zcmZoUz|wMnWy226Ah4VK@OirE3n(uLBm@LHKrAxZ^tmzPi_M)cs?7m?b~U~L diff --git a/bootloader/rustsbi-qemu.bin b/bootloader/rustsbi-qemu.bin index 54329fcb74075cefde4a4d8d134481f59876b7ac..514b37c85713c50dc99416f6c67a69186b0f5735 100755 GIT binary patch delta 3450 zcmcJQe^66L9>CuQUf@NnNW=)Djh+On0)m2Il>nBYc2MU!sBP^5YQU%sV2Fy>vk@;3 z6g`2j8nsqKD;!d#+P&-Pj8^d^A|l|8^;-Wqtt22tg-EQ|p?dq?K7`|c-weC^`TpGR zce6|5ORt(8-em_6DnA&BMx1r*XJtAQUM2ql`Gu~Cc&>6XjFM#;Nc8PdI2WlL1m)Rj zcrM4Y$c5|Q_`(MT!`iVqNQs-rM){yq_{9XLH~I+LC;yBV;I`jg^F!a_Lo*Ni_HGU1*K>P-fm{mq~OVV8zZD)LO6SM zW>!{_1&x+>Pit2l5K^X8;}e@NBJMXENd_N8-| zC~2BNUY15qQ{1kj5muFDa91hmuEEu^1p_3%2L9zw$w5=g3)rt>1LFQlQT`QJAdvft zlBNzHgSQa3mm*(=+xC+m#Y)w3p(m~n#UF*g*wBfj)^uUd>?*32XW+6!>0aC{ikcXB z{F#>1P^zARV~^?)r=sWxf)k%>xe=6fqjC4=MA=U<`vrV(T+2P7l;wx|31D8myruu>E9~kJydsB5<8tMAsS%#MUOEJlI+r zNxedMLS1dxi1pF!DxJ_fc^Em|HrlzA!$k`tU8?*lwQ|<$NGDoUKaK3cn{Sc(886|VWU=Xx}t--YN*V! z9G;(^h2mgFU7B)9mVNa9#S2^ld+L^kCD(S&@Lz0|9US?{q1WgKvUzkuq(D23^t}#b zU*`sCS)KKrqJ!v>Z|2aQnG^8tuir#y9wO77o>a7?aPYDEZ~eH2Y`if#~7=9VtoKPk^0o$XPC|TLRBvvuvCAdrV@;G?@PZN3y8?TN>Jy3Ghgu0-gtUF*_ z!y5Dxe9{nv{sRXa^yn`1ll8x0tmE(KCNw+7qbBHdM4{_A_*xMi@A>_u7=uLQbV|wH$VEv~jTW$AV zzU;85U9YO~`z>XzB)!}|AeFxX%bLR`B!}x_tuouR_R04&oi}ZiIMXn@F^|wU6^@>rO;E&n{ z^id*5z2Yp9vj|TS5426OI~ z$cRm5Q-L`zvLH8i3ZI2zm5Q=hXhmdgKgMPPMLx~*x z5MA%1EvOOO%_At0}p znn;Jw;9ltJNm%UdreY+?S&6+Qo-576-KP%oo9c#5y?lU0600S*%WhD(6N2r-#L+}8 zJRx>Btaj^U>!0FUcPt9F_tDLam%P)x8Af>7?0xX-(}}W7Hw5=B3Gnw&tASfE*#q19 zCd$Zkq%St0MA8bkNBE9;;HSO_S(^s}JPFAopHW}(42$15i3h9)${c9NYJHBusGc`p ztv9Y!lSeS~8B};8WO==C#gmXUJlYv4nnsHL!;dtZuf%sGJ-OWCmk0U1>WY3}FgzO- zJo6W7O#W+#pMs3S6`lDDu6V|?(XIVdFFeJ<_b&Mp*2Cp1h)gJ_wI46;-|qE4RsKWl delta 3248 zcmbW2dsI_L9>?zlZ^)%;frtSFH&6)`6-hRSc!-f;cVBV?*2iy5I~VP=&In(y>lbf{mY$mGBcm~ z{$4Zp-bq!_l!m7+We3qv`Jpg0_Km%QmDqD}rt}t?TA300P|?9Ka+V!~cv-)jAw^*) zD0RGr7jtG7WnCnDyocg(%PUu>q8fa7;SpEY zdOnnC8$?G((RpP76h<$gb3-n!j$XSET?4nARL-t2^NFMlur6mU_dO-E9U5|$IZ0>7 zGd_43aetwr?r(Vhheuq3iz%Kq0o&qYiD#HjW8Ha%QJDDT^(Ly?_u!sQTEt~53i&ju zLLB=0BQBhVqB#ay^1QeRQH+7!ytU{8yqzD6v{0D;2c(9<{C#LH-dVt+07am|!tiMr zKhAo3onBvTL>|(fkaopEK4s!ze5$Y(agQt{6_~Tf@CRGxx}i*{C_awTVbSj0C>74{ zEIg*W9ddD1ULE0)m1Fyd|tct6uyxMp9a3wMQ@p1uyh-oKQ)CZ@d( zRr}Mqzfw}!Kw6f{)rvtcL1x)n?gAyhm~GLP;mXJ)aYCh+_5#tT`UXIVd@L@X6yuyhTxZ z2i#A@an~uCTk*RmewJ`m6zw(e`l%&uhI6884V0c5bPM`|qUuX9SH?JPbzkD9$_|M_ z$M4L%Q`64sG+mM&%F-RsP_@N1k>6kCHqf0>^K&o-ZHJv_^sa)>>3ndUNuhI9E<{!@ zMOm=5I*fV+6~MXb;FmHr?PA0%+*VzW6eZ<}Dw9Px!nT>@2$M((*QC|(-B&(nHQf9v zPrh=8)u(xCfoyZdZ!JR7#1)WvHq|HTT>DMa3N!s!ls{@msCrNhm(K>joWkjf5ACg@ zYa_|<@N75=f%)fB3vub!zd|S!SJwm~ikp zYt?8YJgJQ%^CcJg{-cY#eAas<`&1Prhx8=$|6C#)N6D5ba=;}?-Z10RGPDlfy`&}m zflK?53H4T$(*g zD(%ntqkN^AQIMc=S4F;@+`iPydn-t;PJyGgd9d=b$~BVz^mRM1@p3pyoF8gBW)d%> zYVvG|D3@l>16Jv&wNf&N0Nd|2TePx%L98P9mxOJix-)!4opS1~ct{Mwg(;J_~&ZU3N9PfPJrSLy*?UN*uf3 z(}vg3aeT937eX5#qcO-!>7^?!aW}~Hew&I*EJFR}!%)_^kNl7LUB8VyVD$RDFa)go zyabb_?dj7_qtfwgGvi~4i^bKtcIT>;f#prX{)-mqB25xYNPA$Ls>?#Q1*ZCNdV)z~ zP|*}IEtAu!t(G8ONqi4(HhqG^4s`i*@joy|a)mRoQ2xUf)CF8~oWFN7T?^m^(x#K& z9AQQ}c)xib@`k<5QKYvuCkeeA{BF!4v!yo_LN90ih^aSh7I^awIqM@cyX9sjCH6KV!YXdcu4?-cT-ZIpJ3Ywh3$_%-8M>0|F1U$gy8*=#0?Zg1r3o zVc7<4v?g4w)$14P^$}TF+3Ph?+K4EvS|1e=9v!aHXf;_IG+BE1XP=Tw>7Zwk2CW@& zC=EOuX{6UXl1N{4KW&nZI#-c3b#D?_J7qp;BtPGb9K-mNaUzbbQ}IkaN>u(NCe(q> zFiA@%1a?_ov|5kufPg(+wA$r-YSOe)h9Nf<^K2bfcc*D(-PFocuwfWqk>w&U5ZO!Q z3Gbh}SNYb8s<)`}^^nxEkV}jo4 zPx$`=-szhha1sqDB<20EeIVAete={QkAV4mKQs=+rpy_j%Sc=g64^!M#p3w9d-8LB z$q?{B37ZEudRj$ADSEaIz}>-E-@50PHALpWxViyI7}7~f2XX08B=W5rqV>!Yz0;>K z41W>S4Z)q^*%IRbJQ{x6bKx+xa=wlU!?0##wuB7ZM8a4dhk; From c65ce846cee0f5f2959a6e42655d18fe12486183 Mon Sep 17 00:00:00 2001 From: Yu Chen Date: Sat, 16 Jan 2021 19:26:02 +0800 Subject: [PATCH 2/5] rust-toochain --> nightly --- rust-toolchain | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust-toolchain b/rust-toolchain index ae054b9a..bf867e0a 100644 --- a/rust-toolchain +++ b/rust-toolchain @@ -1 +1 @@ -nightly-2020-11-01 \ No newline at end of file +nightly From 9772373743025d59d056350ad6a27cb8cdb4712a Mon Sep 17 00:00:00 2001 From: Yifan Wu Date: Thu, 21 Jan 2021 00:26:56 +0800 Subject: [PATCH 3/5] Fix os/Makefile: Support macOS --- os/Makefile | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/os/Makefile b/os/Makefile index 5f051867..a7d26e75 100644 --- a/os/Makefile +++ b/os/Makefile @@ -28,13 +28,14 @@ DISASM ?= -x build: env $(KERNEL_BIN) $(FS_IMG) env: - rustup component add rust-src - rustup component add llvm-tools-preview - cargo install cargo-binutils - rustup target add riscv64gc-unknown-none-elf + (rustup component list | grep "rust-src") || rustup component add rust-src + (rustup component list | grep "llvm-tools-preview") || rustup component add llvm-tools-preview + (which rust-objdump) || cargo install cargo-binutils + (rustup target list | grep "riscv64gc-unknown-none-elf") || rustup target add riscv64gc-unknown-none-elf sdcard: $(FS_IMG) - @sudo dd if=/dev/zero of=$(SDCARD) bs=1M count=16 + @echo "Are you sure write to $(SDCARD) ? [y/N] " && read ans && [ $${ans:-N} = y ] + @sudo dd if=/dev/zero of=$(SDCARD) bs=1048576 count=16 @sudo dd if=$(FS_IMG) of=$(SDCARD) $(KERNEL_BIN): kernel @@ -73,11 +74,11 @@ ifeq ($(BOARD),qemu) -device virtio-blk-device,drive=x0,bus=virtio-mmio-bus.0 else @cp $(BOOTLOADER) $(BOOTLOADER).copy - @dd if=$(KERNEL_BIN) of=$(BOOTLOADER).copy bs=128K seek=1 + @dd if=$(KERNEL_BIN) of=$(BOOTLOADER).copy bs=131072 seek=1 @mv $(BOOTLOADER).copy $(KERNEL_BIN) @sudo chmod 777 $(K210-SERIALPORT) python3 $(K210-BURNER) -p $(K210-SERIALPORT) -b 1500000 $(KERNEL_BIN) - miniterm --eol LF --dtr 0 --rts 0 --filter direct $(K210-SERIALPORT) 115200 + python3 -m serial.tools.miniterm --eol LF --dtr 0 --rts 0 --filter direct $(K210-SERIALPORT) 115200 endif debug: build From 6267c5d922a110ede74a1be99ad6f5606537e7a8 Mon Sep 17 00:00:00 2001 From: Yifan Wu Date: Wed, 27 Jan 2021 07:30:47 +0800 Subject: [PATCH 4/5] Do not clone KERNEL_SPACE in mm::init --- os/src/mm/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/os/src/mm/mod.rs b/os/src/mm/mod.rs index 7eedef2f..2242eecb 100644 --- a/os/src/mm/mod.rs +++ b/os/src/mm/mod.rs @@ -23,5 +23,5 @@ pub use memory_set::remap_test; pub fn init() { heap_allocator::init_heap(); frame_allocator::init_frame_allocator(); - KERNEL_SPACE.clone().lock().activate(); + KERNEL_SPACE.lock().activate(); } \ No newline at end of file From 18da8a3879c11b33a2fe8b8a226d9945080a43fb Mon Sep 17 00:00:00 2001 From: Yifan Wu Date: Tue, 2 Feb 2021 18:03:38 +0800 Subject: [PATCH 5/5] Update os/Makefile && Update rust to 2021-01-30 --- os/Makefile | 16 ++++++++-------- rust-toolchain | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/os/Makefile b/os/Makefile index a7d26e75..b79267b4 100644 --- a/os/Makefile +++ b/os/Makefile @@ -10,13 +10,13 @@ SDCARD := /dev/sdb APPS := ../user/src/bin # BOARD -BOARD ?= qemu -SBI ?= rustsbi -BOOTLOADER := ../bootloader/$(SBI)-$(BOARD).bin +BOARD ?= qemu +SBI ?= rustsbi +BOOTLOADER := ../bootloader/$(SBI)-$(BOARD).bin # Run K210 K210-SERIALPORT = /dev/ttyUSB0 -K210-BURNER = ../tools/kflash.py +K210-BURNER = ../tools/kflash.py # Binutils OBJDUMP := rust-objdump --arch-name=riscv64 @@ -28,10 +28,10 @@ DISASM ?= -x build: env $(KERNEL_BIN) $(FS_IMG) env: - (rustup component list | grep "rust-src") || rustup component add rust-src - (rustup component list | grep "llvm-tools-preview") || rustup component add llvm-tools-preview - (which rust-objdump) || cargo install cargo-binutils - (rustup target list | grep "riscv64gc-unknown-none-elf") || rustup target add riscv64gc-unknown-none-elf + (rustup target list | grep "riscv64gc-unknown-none-elf (installed)") || rustup target add $(TARGET) + cargo install cargo-binutils + rustup component add rust-src + rustup component add llvm-tools-preview sdcard: $(FS_IMG) @echo "Are you sure write to $(SDCARD) ? [y/N] " && read ans && [ $${ans:-N} = y ] diff --git a/rust-toolchain b/rust-toolchain index bf867e0a..a08f00d1 100644 --- a/rust-toolchain +++ b/rust-toolchain @@ -1 +1 @@ -nightly +nightly-2021-01-30