|  | @@ -20,6 +20,7 @@ mod sbi;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  use core::arch::{asm, naked_asm};
 |  |  use core::arch::{asm, naked_asm};
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +use crate::platform::CPU_ENABLED;
 | 
											
												
													
														|  |  use crate::platform::PLATFORM;
 |  |  use crate::platform::PLATFORM;
 | 
											
												
													
														|  |  use crate::riscv::csr::menvcfg;
 |  |  use crate::riscv::csr::menvcfg;
 | 
											
												
													
														|  |  use crate::riscv::current_hartid;
 |  |  use crate::riscv::current_hartid;
 | 
											
										
											
												
													
														|  | @@ -37,9 +38,6 @@ use crate::sbi::trap_stack;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  pub const R_RISCV_RELATIVE: usize = 3;
 |  |  pub const R_RISCV_RELATIVE: usize = 3;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -use crate::cfg::NUM_HART_MAX;
 |  | 
 | 
											
												
													
														|  | -static mut ENABLED: [bool; NUM_HART_MAX] = [false; NUM_HART_MAX];
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  |  #[unsafe(no_mangle)]
 |  |  #[unsafe(no_mangle)]
 | 
											
												
													
														|  |  extern "C" fn rust_main(_hart_id: usize, opaque: usize, nonstandard_a2: usize) {
 |  |  extern "C" fn rust_main(_hart_id: usize, opaque: usize, nonstandard_a2: usize) {
 | 
											
												
													
														|  |      // Track whether SBI is initialized and ready.
 |  |      // Track whether SBI is initialized and ready.
 | 
											
										
											
												
													
														|  | @@ -58,7 +56,7 @@ extern "C" fn rust_main(_hart_id: usize, opaque: usize, nonstandard_a2: usize) {
 | 
											
												
													
														|  |                  fail::stop();
 |  |                  fail::stop();
 | 
											
												
													
														|  |              } else {
 |  |              } else {
 | 
											
												
													
														|  |                  unsafe {
 |  |                  unsafe {
 | 
											
												
													
														|  | -                    ENABLED[current_hartid()] = true;
 |  | 
 | 
											
												
													
														|  | 
 |  | +                    CPU_ENABLED[current_hartid()] = true;
 | 
											
												
													
														|  |                  }
 |  |                  }
 | 
											
												
													
														|  |              }
 |  |              }
 | 
											
												
													
														|  |          }
 |  |          }
 | 
											
										
											
												
													
														|  | @@ -67,7 +65,7 @@ extern "C" fn rust_main(_hart_id: usize, opaque: usize, nonstandard_a2: usize) {
 | 
											
												
													
														|  |                  fail::stop();
 |  |                  fail::stop();
 | 
											
												
													
														|  |              } else {
 |  |              } else {
 | 
											
												
													
														|  |                  unsafe {
 |  |                  unsafe {
 | 
											
												
													
														|  | -                    ENABLED[current_hartid()] = true;
 |  | 
 | 
											
												
													
														|  | 
 |  | +                    CPU_ENABLED[current_hartid()] = true;
 | 
											
												
													
														|  |                  }
 |  |                  }
 | 
											
												
													
														|  |              }
 |  |              }
 | 
											
												
													
														|  |          }
 |  |          }
 |