浏览代码

Merge pull request #2 from wyfcyx/master

Fix multicore for K210 platform.
Luo Jia 4 年之前
父节点
当前提交
03c7706188
共有 2 个文件被更改,包括 7 次插入3 次删除
  1. 3 3
      platform/k210/link-k210.ld
  2. 4 0
      platform/k210/src/main.rs

+ 3 - 3
platform/k210/link-k210.ld

@@ -1,13 +1,13 @@
 MEMORY {
     /* 存储单元的物理地址 */
-    SRAM : ORIGIN = 0x80000000, LENGTH = 2M
+    SRAM : ORIGIN = 0x80000000, LENGTH = 128K
 }
 
 _max_hart_id = 1; 
 
 PROVIDE(_stext = 0x80000000);
-PROVIDE(_heap_size = 128K);
-PROVIDE(_hart_stack_size = 64K);
+PROVIDE(_heap_size = 32K);
+PROVIDE(_hart_stack_size = 16K);
 
 REGION_ALIAS("REGION_TEXT", SRAM);
 REGION_ALIAS("REGION_RODATA", SRAM);

+ 4 - 0
platform/k210/src/main.rs

@@ -202,6 +202,10 @@ fn main() -> ! {
             pac::PLIC::unmask(mhartid::read(), Interrupt::GPIOHS0);
         }
         boot.clear_interrupt_pending_bits();
+
+        // wake other harts, especially hart1 on k210
+        k210_hal::clint::msip::set_ipi(1);
+        k210_hal::clint::msip::clear_ipi(1);
     }
     
     unsafe {