Giter VIP home page Giter VIP logo

eduos-rs's People

Contributors

azure-pipelines[bot] avatar dependabot[bot] avatar jbreitbart avatar jounathaen avatar mkroening avatar stlankes avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

eduos-rs's Issues

LLVM ERRORS

I can't build the system because LLVM TOOLS returns errors about unsupported assembler prompts. How to fix it?

Unexpected behavior unmapping pages

Using the modules crate::arch::x86_64::mm::{ paging, virtualmem } results in unexpected behavior, assuming I understand the intentions of the code correctly.

What I expect:

After a call to paging::unmap, or at the very least virtualmem::deallocate, I'll expect paging::get_page_table_entry::<BasePageSize> to return None.

Actual behavior:

After each of the above calls, paging::get_page_table_entry::<BasePageSize> returns Some(0) for the first page. If page count > 1, following pages will be mapped to a multiple of BasePageSize::SIZE.

To reproduce the issue and making sure, it is not a misunderstanding on my part, here is an example function I put into main.rs and call from main.rs:main (after initialization of course), producing the output shown below:

Code:

// Helper function used in test(usize)
fn to_string(it: Option<crate::arch::x86_64::mm::paging::PageTableEntry>) -> String
{
	match it
	{
		None => "None".to_owned(),
		Some(it) => alloc::format!("Some(0x{:016x})", it.address())
	}
}

fn test(count: usize)
{
	use crate::arch::mm::{
		paging::{
			self,
			BasePageSize,
			PageSize,
			PageTableEntryFlags
		},
		virtualmem,
		physicalmem
	};

	let allocation_size = BasePageSize::SIZE * count;

	// Allocate Page & Frame
	let virt = virtualmem::allocate_aligned(allocation_size, BasePageSize::SIZE);
	let phys = physicalmem::allocate_aligned(allocation_size, BasePageSize::SIZE);

	println!("Trying:   0x{:016x} => 0x{:016x}", virt, phys);
	println!("Alloc:    0x{:016x} => {}", virt, to_string(paging::get_page_table_entry::<BasePageSize>(virt)));
	println!("          0x{:016x} => {}", virt + BasePageSize::SIZE, to_string(paging::get_page_table_entry::<BasePageSize>(virt + BasePageSize::SIZE)));

	// Map Page to Frame
	paging::map::<BasePageSize>(virt, phys, count, PageTableEntryFlags::empty());

	println!("Mapped:   0x{:016x} => {}", virt, to_string(paging::get_page_table_entry::<BasePageSize>(virt)));
	println!("          0x{:016x} => {}", virt + BasePageSize::SIZE, to_string(paging::get_page_table_entry::<BasePageSize>(virt + BasePageSize::SIZE)));

	// Unmap Page
	paging::unmap::<BasePageSize>(virt, count);

	println!("Unmapped: 0x{:016x} => {}", virt, to_string(paging::get_page_table_entry::<BasePageSize>(virt)));
	println!("          0x{:016x} => {}", virt + BasePageSize::SIZE, to_string(paging::get_page_table_entry::<BasePageSize>(virt + BasePageSize::SIZE)));
	
	// Deallocate Page & Frame
	virtualmem::deallocate(virt, allocation_size);
	physicalmem::deallocate(phys, allocation_size);

	println!("Dealloc:  0x{:016x} => {}", virt, to_string(paging::get_page_table_entry::<BasePageSize>(virt)));
	println!("          0x{:016x} => {}", virt + BasePageSize::SIZE, to_string(paging::get_page_table_entry::<BasePageSize>(virt + BasePageSize::SIZE)));
}

Output:

Building bootloader
    Finished release [optimized + debuginfo] target(s) in 0.03s
Running: `qemu-system-x86_64 -display none -smp 1 -m 128M -serial stdio -cpu qemu64,apic,fsgsbase,rdtscp,xsave,xsaveopt,fxsr -device isa-debug-exit,iobase=0xf4,iosize=0x04 -drive format=raw,file=target/x86_64-eduos/debug/bootimage-eduos-rs.bin`
[INFO] Memory size 127 MByte
init: paging             // Note: added println! into the respective init functions just to make sure
init: physicalmem
init: virtualmem
[INFO] Found mountable file at 0x251fb0 (len 0x3b90)
Hello from eduOS-rs!
[INFO] Print file system:
[INFO] /
[INFO]   bin (Directory)
[INFO]     demo (File)
[INFO]   dev (Directory)
[INFO] Creating task 1
[INFO] Creating task 2
[INFO] Creating task 3
Trying:   0x0000000080000000 => 0x0000000000af0000       // test(1)
Alloc:    0x0000000080000000 => None
          0x0000000080001000 => None
Mapped:   0x0000000080000000 => Some(0x0000000000af0000)
          0x0000000080001000 => None
Unmapped: 0x0000000080000000 => Some(0x0000000000000000) // <- Mapped to 0
          0x0000000080001000 => None
Dealloc:  0x0000000080000000 => Some(0x0000000000000000)
          0x0000000080001000 => None
Trying:   0x0000000080000000 => 0x0000000000af3000       // test(2)
Alloc:    0x0000000080000000 => Some(0x0000000000000000) // <- Some(0) from previous invocation of test
          0x0000000080001000 => None
Mapped:   0x0000000080000000 => Some(0x0000000000af3000)
          0x0000000080001000 => Some(0x0000000000af4000)
Unmapped: 0x0000000080000000 => Some(0x0000000000000000) // <- Mapped to 0
          0x0000000080001000 => Some(0x0000000000001000) // <- Mapped to 4096
Dealloc:  0x0000000080000000 => Some(0x0000000000000000)
          0x0000000080001000 => Some(0x0000000000001000)
hello from task 1
[INFO] finish task with id 1
hello from task 2
[INFO] finish task with id 2
[INFO] Hello from loader
Hello World from Linux!
[INFO] finish task with id 3
Shutdown system!

Can't run a newly compiled of demo/hello

When i try to run the newly compiled program i get this error while running:

[ERROR] Error: file depends on following libraries: ["libc.so"]
[ERROR] Unable to load elf64 binary /bin/demo

if i change -pie to -static-pie i get this error while running:

[ERROR] Page Fault (#PF) Exception: ExceptionStackFrame {
    instruction_pointer: 0x20000000077,
    code_segment: 0x2b,
    cpu_flags: 0x1202,
    stack_pointer: 0x20000400000,
    stack_segment: 0x23,
}
[ERROR] virtual_address = 0x23, page fault error = The fault was caused by a non-present page.
The access causing the fault was a read.
The access causing the fault originated when the processor was executing in user mode.
The fault was not caused by reserved bit violation.
The fault was not caused by an instruction fetch.

replace_boot_stack cannot work reliably, because all copies of RSP are not known

replace_boot_stack adjusts the RSP register to point to the new stack and copies the contents of the old stack to the new stack.
However, adjusting the RSP register may not be enough. Other registers may also contain references to the old stack. Elements on the stack itself may even contain references to the old stack.

To give an example: Even though the "x86_64-unknown-none-gnu.json" file contains "eliminate-frame-pointer": true, this is just a possible optimization. The compiler may still decide to use RBP for memory references. Looking into the disassembly reveals that this indeed happens right in rust_main.
When entering replace_boot_stack, this RBP has been pushed somewhere on the stack, without any reliable way of adjusting this memory reference.

To solve this problem, I would keep using the original boot stack, and offer a way to pass the address of a dynamically allocated boot stack to the application processor boot code as soon as SMP is implemented.
In fact, this is how I will proceed for HermitCore-rs.

cargo test: error[E0463]: can't find crate for `test`

Running a cargo test --lib on the project fails with the following error
Toolchain: nightly-2021-02-01-x86_64-unknown-linux-gnu

bader@prometheus:~/Work/RWTH.ERC/eduOS-rs$ cargo test --lib
   Compiling eduos-rs v0.1.0 (/home/bader/Work/RWTH.ERC/eduOS-rs)
error[E0463]: can't find crate for `test`
   --> src/mm/freelist.rs:203:1
    |
203 | / fn add_element() {
204 | |     let mut freelist = FreeList::new();
205 | |     let entry = FreeListEntry::new(0x10000, 0x100000);
206 | |
...   |
216 | |     }
217 | | }
    | |_^ can't find crate
    |
    = note: this error originates in an attribute macro (in Nightly builds, run with -Z macro-backtrace for more info)

error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
error: could not compile `eduos-rs`

To learn more, run the command again with --verbose.

What I've tried so far:

bootimage / bootloader config and update

When running make qemu on stage0 branch:

$ make qemu
bootimage build --target x86_64-eduos.json
Error: Failed to read bootimage configuration: unexpected `package.metadata.bootimage` key `bootloader` with value `name = "bootloader"
target = "x86_64-bootloader.json"
`
make: *** [Makefile:30: bootimage.bin] Error 1

So there seem to be some braking changes in config format.

When investigating the error, I found in the doc, that:
Note: At least bootloader version 0.5.1 is required since bootimage 0.7.0. For earlier bootloader versions, use bootimage 0.6.6, but we use bootloader = "0.3.4"

Easy workaround would be to downgrade bootimage to 0.6.6 (I tested it and it works), but I think upgrading and fixing the config would be the better way.

install ehyve error

➜ eduOS-rs git:(master) rustup toolchain list
stable-x86_64-apple-darwin (default)
nightly-2020-02-20-x86_64-apple-darwin
nightly-x86_64-apple-darwin

➜  eduOS-rs git:(master) rustup override set nightly
info: using existing install for 'nightly-x86_64-apple-darwin'
info: override toolchain for '/Users/wangguocheng/osSpace/eduOS-rs' set to 'nightly-x86_64-apple-darwin'

  nightly-x86_64-apple-darwin unchanged - rustc 1.45.0-nightly (74e804683 2020-05-30)
➜  eduOS-rs git:(master) cargo install --git https://github.com/RWTH-OS/ehyve.git
    Updating git repository `https://github.com/RWTH-OS/ehyve.git`
    Updating git submodule `https://github.com/RWTH-OS/libwhp.git`
  Installing ehyve v0.0.10 (https://github.com/RWTH-OS/ehyve.git#5991b98c)
    Updating crates.io index
  Downloaded lazy_static v1.4.0
  Downloaded thread_local v1.0.1
  Downloaded env_logger v0.7.1
  Downloaded semver-parser v0.7.0
  Downloaded rustc_version v0.2.3
  Downloaded cc v1.0.54
  Downloaded quick-error v1.2.3
  Downloaded humantime v1.3.0
  Downloaded elf v0.0.10
  Downloaded regex v1.3.9
  Downloaded memchr v2.3.3
  Downloaded memmap v0.7.0
  Downloaded regex-syntax v0.6.18
  Downloaded termcolor v1.1.0
  Downloaded aho-corasick v0.7.10
  Downloaded raw-cpuid v7.0.3
  Downloaded semver v0.9.0
  Downloaded byteorder v0.5.3
  Downloaded aligned_alloc v0.1.3
  Downloaded xhypervisor v0.0.12
  Downloaded bit_field v0.10.0
  Downloaded x86 v0.28.0
  Downloaded 22 crates (2.9 MB) in 12.62s (largest was `x86` at 2.0 MB)
   Compiling libc v0.2.71
   Compiling semver-parser v0.7.0
   Compiling bitflags v1.2.1
   Compiling memchr v2.3.3
   Compiling winapi-build v0.1.1
   Compiling cc v1.0.54
   Compiling lazy_static v1.4.0
   Compiling log v0.4.8
   Compiling cfg-if v0.1.10
   Compiling quick-error v1.2.3
   Compiling xhypervisor v0.0.12
   Compiling regex-syntax v0.6.18
   Compiling x86 v0.28.0
   Compiling unicode-width v0.1.7
   Compiling winapi v0.2.8
   Compiling byteorder v0.5.3
   Compiling ansi_term v0.11.0
   Compiling vec_map v0.8.2
   Compiling bit_field v0.10.0
   Compiling strsim v0.8.0
   Compiling termcolor v1.1.0
   Compiling thread_local v1.0.1
   Compiling semver v0.9.0
   Compiling humantime v1.3.0
   Compiling kernel32-sys v0.2.2
   Compiling textwrap v0.11.0
   Compiling elf v0.0.10
   Compiling rustc_version v0.2.3
   Compiling aho-corasick v0.7.10
   Compiling atty v0.2.14
   Compiling aligned_alloc v0.1.3
   Compiling memmap v0.7.0
   Compiling clap v2.33.1
   Compiling regex v1.3.9
   Compiling env_logger v0.7.1
   Compiling raw-cpuid v7.0.3
error: legacy asm! syntax is no longer supported
  --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/bits32/eflags.rs:95:5
   |
95 |     asm!("clac" ::: "memory" "flags" : "volatile");
   |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |     |
   |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
   --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/bits32/eflags.rs:110:5
    |
110 |     asm!("stac" ::: "memory" "flags" : "volatile");
    |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |     |
    |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
 --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/bits32/mod.rs:9:5
  |
9 |     asm!("mov esp, $0; jmp $1" :: "rg"(stack), "r"(ip) :: "volatile", "intel");
  |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |     |
  |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
 --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/bits64/registers.rs:6:9
  |
6 |         asm!("leaq 0(%rip), $0" : "=r" (rip) ::);
  |         ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |         |
  |         help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
  --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/bits64/registers.rs:16:9
   |
16 |         asm!("mov %rsp, $0" : "=r" (rsp) ::);
   |         ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |         |
   |         help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
  --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/bits64/registers.rs:26:9
   |
26 |         asm!("mov %rbp, $0" : "=r" (rbp) ::);
   |         ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |         |
   |         help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
  --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/bits64/rflags.rs:82:5
   |
82 |     asm!("pushfq; popq $0" : "=r"(r) :: "memory");
   |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |     |
   |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
  --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/bits64/rflags.rs:89:5
   |
89 |     asm!("pushq $0; popfq" :: "r"(val.bits()) : "memory" "flags");
   |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |     |
   |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
   --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/bits64/segmentation.rs:140:5
    |
140 |       asm!("pushq $0; \
    |       ^---
    |       |
    |  _____help: replace with: `llvm_asm!`
    | |
141 | |           leaq  1f(%rip), %rax; \
142 | |           pushq %rax; \
143 | |           lretq; \
144 | |           1:" :: "ri" (sel.bits() as usize) : "rax" "memory");
    | |______________________________________________________________^

error: legacy asm! syntax is no longer supported
   --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/bits64/segmentation.rs:151:5
    |
151 |     asm!("wrgsbase $0" :: "r" (base) : "memory");
    |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |     |
    |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
   --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/bits64/segmentation.rs:158:5
    |
158 |     asm!("wrfsbase $0" :: "r" (base) : "memory");
    |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |     |
    |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
   --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/bits64/segmentation.rs:166:5
    |
166 |     asm!("rdgsbase $0" : "=r" (gs_base) );
    |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |     |
    |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
   --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/bits64/segmentation.rs:175:5
    |
175 |     asm!("rdfsbase $0" : "=r" (fs_base) );
    |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |     |
    |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
   --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/bits64/segmentation.rs:190:5
    |
190 |     asm!("swapgs" ::: "gs");
    |     ----^^^^^^^^^^^^^^^^^^^^
    |     |
    |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
  --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/bits64/sgx.rs:25:5
   |
25 |       asm!("encls" : "={eax}" (eax), "={rbx}" (out_rbx)
   |       ^---
   |       |
   |  _____help: replace with: `llvm_asm!`
   | |
26 | |                  : "{rax}" (rax), "{rbx}" (rbx));
   | |_________________________________________________^

error: legacy asm! syntax is no longer supported
  --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/bits64/sgx.rs:34:5
   |
34 |       asm!("encls" : "={eax}" (eax), "={rbx}" (out_rbx)
   |       ^---
   |       |
   |  _____help: replace with: `llvm_asm!`
   | |
35 | |                  : "{rax}" (rax), "{rbx}" (rbx), "{rcx}" (rcx));
   | |________________________________________________________________^

error: legacy asm! syntax is no longer supported
  --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/bits64/sgx.rs:43:5
   |
43 |       asm!("encls" : "={eax}" (eax), "={rbx}" (out_rbx)
   |       ^---
   |       |
   |  _____help: replace with: `llvm_asm!`
   | |
44 | |                  : "{rax}" (rax), "{rbx}" (rbx), "{rcx}" (rcx), "{rdx}" (rdx));
   | |_______________________________________________________________________________^

error: legacy asm! syntax is no longer supported
   --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/bits64/sgx.rs:255:5
    |
255 |       asm!("enclu" : "={eax}" (eax), "={rcx}" (out_rcx)
    |       ^---
    |       |
    |  _____help: replace with: `llvm_asm!`
    | |
256 | |                  : "{rax}" (rax), "{rbx}" (rbx), "{rcx}" (rcx));
    | |________________________________________________________________^

error: legacy asm! syntax is no longer supported
   --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/bits64/sgx.rs:264:5
    |
264 |       asm!("enclu" : "={eax}" (eax), "={rcx}" (out_rcx)
    |       ^---
    |       |
    |  _____help: replace with: `llvm_asm!`
    | |
265 | |                  : "{rax}" (rax), "{rbx}" (rbx), "{rcx}" (rcx), "{rdx}" (rdx));
    | |_______________________________________________________________________________^

error: legacy asm! syntax is no longer supported
  --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/bits64/syscall.rs:96:5
   |
96 |     asm!("syscall" : "={rax}" (ret) : "{rax}" (arg0) : "rcx", "r11", "memory" : "volatile");
   |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |     |
   |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
   --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/bits64/syscall.rs:104:5
    |
104 |       asm!("syscall" : "={rax}" (ret) : "{rax}" (arg0), "{rdi}" (arg1)
    |       ^---
    |       |
    |  _____help: replace with: `llvm_asm!`
    | |
105 | |                    : "rcx", "r11", "memory" : "volatile");
    | |__________________________________________________________^

error: legacy asm! syntax is no longer supported
   --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/bits64/syscall.rs:113:5
    |
113 |       asm!("syscall" : "={rax}" (ret) : "{rax}" (arg0), "{rdi}" (arg1), "{rsi}" (arg2)
    |       ^---
    |       |
    |  _____help: replace with: `llvm_asm!`
    | |
114 | |                    : "rcx", "r11", "memory" : "volatile");
    | |__________________________________________________________^

error: legacy asm! syntax is no longer supported
   --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/bits64/syscall.rs:122:5
    |
122 |       asm!("syscall" : "={rax}" (ret) : "{rax}" (arg0), "{rdi}" (arg1), "{rsi}" (arg2), "{rdx}" (arg3)
    |       ^---
    |       |
    |  _____help: replace with: `llvm_asm!`
    | |
123 | |                    : "rcx", "r11", "memory" : "volatile");
    | |__________________________________________________________^

error: legacy asm! syntax is no longer supported
   --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/bits64/syscall.rs:131:5
    |
131 |       asm!("syscall" : "={rax}" (ret)
    |       ^---
    |       |
    |  _____help: replace with: `llvm_asm!`
    | |
132 | |                    : "{rax}"  (arg0), "{rdi}"  (arg1), "{rsi}"  (arg2), "{rdx}"  (arg3), "{r10}"  (arg4)
133 | |                    : "rcx", "r11", "memory" : "volatile");
    | |__________________________________________________________^

error: legacy asm! syntax is no longer supported
   --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/bits64/syscall.rs:141:5
    |
141 |       asm!("syscall" : "={rax}" (ret)
    |       ^---
    |       |
    |  _____help: replace with: `llvm_asm!`
    | |
142 | |                    : "{rax}" (arg0), "{rdi}" (arg1), "{rsi}" (arg2), "{rdx}" (arg3), "{r10}" (arg4), "{r8}" (arg5)
143 | |                    : "rcx", "r11", "memory"
144 | |                    : "volatile");
    | |_________________________________^

error: legacy asm! syntax is no longer supported
   --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/bits64/syscall.rs:160:5
    |
160 |       asm!("syscall" : "={rax}" (ret)
    |       ^---
    |       |
    |  _____help: replace with: `llvm_asm!`
    | |
161 | |                    : "{rax}" (arg0), "{rdi}" (arg1), "{rsi}" (arg2), "{rdx}" (arg3),
162 | |                      "{r10}" (arg4), "{r8}" (arg5), "{r9}" (arg6)
163 | |                    : "rcx", "r11", "memory"
164 | |                    : "volatile");
    | |_________________________________^

error: legacy asm! syntax is no longer supported
  --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/bits64/vmx.rs:30:5
   |
30 |     asm!("vmxon $0" : /* no outputs */ : "m"(addr));
   |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |     |
   |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
  --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/bits64/vmx.rs:45:5
   |
45 |     asm!("vmclear $0" : /* no outputs */ : "m"(addr));
   |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |     |
   |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
  --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/bits64/vmx.rs:53:5
   |
53 |     asm!("vmptrld $0" : /* no outputs */ : "m"(addr));
   |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |     |
   |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
  --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/bits64/vmx.rs:60:5
   |
60 |     asm!("vmptrst ($0)" : /* no outputs */ : "r"(&value) : "memory");
   |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |     |
   |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
  --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/bits64/vmx.rs:68:5
   |
68 |     asm!("vmread $1, $0" : "=r"(value) : "r"(field));
   |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |     |
   |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
  --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/bits64/vmx.rs:75:5
   |
75 |     asm!("vmwrite $1, $0" : /* no outputs */ : "r"(field), "r"(value));
   |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |     |
   |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
  --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/controlregs.rs:93:5
   |
93 |     asm!("mov %cr0, $0" : "=r" (ret));
   |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |     |
   |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
  --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/controlregs.rs:99:5
   |
99 |     asm!("mov $0, %cr0" :: "r" (val.bits) : "memory");
   |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |     |
   |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
   --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/controlregs.rs:105:5
    |
105 |     asm!("mov %cr2, $0" : "=r" (ret));
    |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |     |
    |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
   --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/controlregs.rs:111:5
    |
111 |     asm!("mov $0, %cr2" :: "r" (val) : "memory");
    |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |     |
    |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
   --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/controlregs.rs:117:5
    |
117 |     asm!("mov %cr3, $0" : "=r" (ret));
    |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |     |
    |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
   --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/controlregs.rs:123:5
    |
123 |     asm!("mov $0, %cr3" :: "r" (val) : "memory");
    |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |     |
    |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
   --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/controlregs.rs:129:5
    |
129 |     asm!("mov %cr4, $0" : "=r" (ret));
    |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |     |
    |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
   --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/controlregs.rs:145:5
    |
145 |     asm!("mov $0, %cr4" :: "r" (val.bits) : "memory");
    |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |     |
    |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
  --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/dtables.rs:59:5
   |
59 |     asm!("lgdt ($0)" :: "r" (gdt) : "memory");
   |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |     |
   |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
  --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/dtables.rs:64:5
   |
64 |     asm!("sgdt ($0)" : "=r" (idt as *mut DescriptorTablePointer<T>) :: "memory");
   |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |     |
   |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
  --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/dtables.rs:75:5
   |
75 |     asm!("lldt $0" :: "r" (selector.bits()) : "memory");
   |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |     |
   |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
  --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/dtables.rs:84:5
   |
84 |     asm!("sldt $0" : "=r"(selector));
   |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |     |
   |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
  --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/dtables.rs:90:5
   |
90 |     asm!("lidt ($0)" :: "r" (idt) : "memory");
   |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |     |
   |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
  --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/dtables.rs:95:5
   |
95 |     asm!("sidt ($0)" : "=r" (idt as *mut DescriptorTablePointer<T>) :: "memory");
   |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |     |
   |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
 --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/io.rs:6:5
  |
6 |     asm!("outb %al, %dx" :: "{dx}"(port), "{al}"(val));
  |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |     |
  |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
  --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/io.rs:13:5
   |
13 |     asm!("inb %dx, %al" : "={ax}"(ret) : "{dx}"(port) :: "volatile");
   |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |     |
   |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
  --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/io.rs:20:5
   |
20 |     asm!("outw %ax, %dx" :: "{dx}"(port), "{al}"(val));
   |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |     |
   |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
  --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/io.rs:27:5
   |
27 |     asm!("inw %dx, %ax" : "={ax}"(ret) : "{dx}"(port) :: "volatile");
   |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |     |
   |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
  --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/io.rs:34:5
   |
34 |     asm!("outl %eax, %dx" :: "{dx}"(port), "{al}"(val));
   |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |     |
   |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
  --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/io.rs:41:5
   |
41 |     asm!("inl %dx, %eax" : "={ax}"(ret) : "{dx}"(port) :: "volatile");
   |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |     |
   |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
 --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/msr.rs:7:5
  |
7 |     asm!("wrmsr" :: "{ecx}" (msr), "{eax}" (low), "{edx}" (high) : "memory" : "volatile" );
  |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |     |
  |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
  --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/msr.rs:14:5
   |
14 |     asm!("rdmsr" : "={eax}" (low), "={edx}" (high) : "{ecx}" (msr) : "memory" : "volatile");
   |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |     |
   |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
   --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/segmentation.rs:557:5
    |
557 |     asm!("movw $0, %ss " :: "r" (sel.bits()) : "memory");
    |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |     |
    |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
   --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/segmentation.rs:562:5
    |
562 |     asm!("movw $0, %ds " :: "r" (sel.bits()) : "memory");
    |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |     |
    |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
   --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/segmentation.rs:567:5
    |
567 |     asm!("movw $0, %es " :: "r" (sel.bits()) : "memory");
    |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |     |
    |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
   --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/segmentation.rs:572:5
    |
572 |     asm!("movw $0, %fs " :: "r" (sel.bits()) : "memory");
    |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |     |
    |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
   --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/segmentation.rs:577:5
    |
577 |     asm!("movw $0, %gs " :: "r" (sel.bits()) : "memory");
    |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |     |
    |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
   --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/segmentation.rs:585:14
    |
585 |     unsafe { asm!("mov %cs, $0" : "=r" (segment) ) };
    |              ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |              |
    |              help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
   --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/segmentation.rs:592:14
    |
592 |     unsafe { asm!("mov %es, $0" : "=r" (segment) ) };
    |              ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |              |
    |              help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
   --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/segmentation.rs:599:14
    |
599 |     unsafe { asm!("mov %ss, $0" : "=r" (segment) ) };
    |              ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |              |
    |              help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
   --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/segmentation.rs:606:14
    |
606 |     unsafe { asm!("mov %ds, $0" : "=r" (segment) ) };
    |              ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |              |
    |              help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
   --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/segmentation.rs:613:14
    |
613 |     unsafe { asm!("mov %fs, $0" : "=r" (segment) ) };
    |              ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |              |
    |              help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
   --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/segmentation.rs:620:14
    |
620 |     unsafe { asm!("mov %gs, $0" : "=r" (segment) ) };
    |              ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |              |
    |              help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
 --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/task.rs:9:14
  |
9 |     unsafe { asm!("str $0" : "=r" (segment) ) };
  |              ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |              |
  |              help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
  --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/task.rs:15:5
   |
15 |     asm!("ltr $0" :: "r" (sel.bits()));
   |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |     |
   |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
 --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/tlb.rs:9:5
  |
9 |     asm!("invlpg ($0)" :: "r" (addr) : "memory");
  |     ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |     |
  |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
  --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/lib.rs:91:5
   |
91 |     asm!("hlt" :::: "volatile");
   |     ----^^^^^^^^^^^^^^^^^^^^^^^^
   |     |
   |     help: replace with: `llvm_asm!`

error: legacy asm! syntax is no longer supported
   --> /Users/wangguocheng/.cargo/registry/src/github.com-1ecc6299db9ec823/x86-0.28.0/src/lib.rs:118:5
    |
118 |     asm!("rdpid $0" : "=r"(pid));
    |     ----^^^^^^^^^^^^^^^^^^^^^^^^^
    |     |
    |     help: replace with: `llvm_asm!`

error: aborting due to 70 previous errors

error: could not compile `x86`.

To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...
error: failed to compile `ehyve v0.0.10 (https://github.com/RWTH-OS/ehyve.git#5991b98c)`, intermediate artifacts can be found at `/var/folders/6w/y98wch9x1wz2pxtxdfft4v8m0000gn/T/cargo-installCkeMkj`

Caused by:
  build failed

error: process didn't exit successfully: `bootimage runner target\x86_64-eduos\debug\eduos-rs` (exit code: 5)

I have tried stage0, 8, 7, and all getting the error:
error: process didn't exit successfully: bootimage runner target\x86_64-eduos\debug\eduos-rs (exit code: 5)

I am running from Windows 11.

Below is the complete cargo run ouput:

cargo run
Compiling compiler_builtins v0.1.82
Compiling core v0.0.0 (C:\Users\xxxxx.rustup\toolchains\nightly-2022-11-11-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core)
Compiling bootloader v0.9.23
Compiling lock_api v0.4.9
Compiling x86 v0.52.0
Compiling rustc-std-workspace-core v1.99.0 (C:\Users\xxxxx.rustup\toolchains\nightly-2022-11-11-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\rustc-std-workspace-core)
Compiling alloc v0.0.0 (C:\Users\xxxxx.rustup\toolchains\nightly-2022-11-11-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\alloc)
Compiling bitflags v1.3.2
Compiling scopeguard v1.1.0
Compiling bit_field v0.10.1
Compiling qemu-exit v3.0.1
Compiling raw-cpuid v10.6.0
Compiling spin v0.9.4
Compiling eduos-rs v0.1.0 (C:\Users\xxxxx\source\repos\eduOS-rs)
Finished dev [unoptimized + debuginfo] target(s) in 23.85s
Running bootimage runner target\x86_64-eduos\debug\eduos-rs
Building bootloader
Compiling bootloader v0.9.23 (C:\Users\xxxxx.cargo\registry\src\github.com-1ecc6299db9ec823\bootloader-0.9.23)
Finished release [optimized + debuginfo] target(s) in 3.84s
Running: qemu-system-x86_64 -display none -smp 1 -m 128M -serial stdio -cpu qemu64,apic,fsgsbase,rdtscp,xsave,xsaveopt,fxsr -device isa-debug-exit,iobase=0xf4,iosize=0x04 -drive format=raw,file=target\x86_64-eduos\debug\bootimage-eduos-rs.bin
Hello world!
error: process didn't exit successfully: bootimage runner target\x86_64-eduos\debug\eduos-rs (exit code: 5)

cannot build!!!

yuyang@yuyang-PC:~/projects/eduOS-rs$ cargo build 
   Compiling eduos-rs v0.1.0 (/home/yuyang/projects/eduOS-rs)
warning: target json file contains unused fields: eliminate-frame-pointer

error[E0557]: feature has been removed
 --> src/lib.rs:1:17
  |
1 | #![feature(asm, const_fn, llvm_asm, lang_items)]
  |                 ^^^^^^^^ feature has been removed
  |
  = note: split into finer-grained feature gates

warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
 --> src/lib.rs:7:12
  |
7 | #![feature(specialization)]
  |            ^^^^^^^^^^^^^^
  |
  = note: `#[warn(incomplete_features)]` on by default
  = note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
  = help: consider using `min_specialization` instead, which is more stable and complete

For more information about this error, try `rustc --explain E0557`.
warning: `eduos-rs` (lib) generated 2 warnings
error: could not compile `eduos-rs` due to previous error; 2 warnings emitted

yuyang@yuyang-PC:~/projects/eduOS-rs$ cargo version 
cargo 1.55.0-nightly (d21c22870 2021-07-26)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.