diff options
author | Johannes Stoelp <johannes.stoelp@gmail.com> | 2022-05-01 17:50:00 +0200 |
---|---|---|
committer | Johannes Stoelp <johannes.stoelp@gmail.com> | 2022-05-01 17:50:00 +0200 |
commit | 4754b66f72a8fbfd48e30ae0bd12a44d13a4ce10 (patch) | |
tree | 16551dd04684ff6e7bdc1107927faaafb6ff9bd9 /src/main.rs | |
download | rv64i-linux-user-no-std-4754b66f72a8fbfd48e30ae0bd12a44d13a4ce10.tar.gz rv64i-linux-user-no-std-4754b66f72a8fbfd48e30ae0bd12a44d13a4ce10.zip |
initial commit
Build small no_std example for rv64i target.
This code executes some linux syscalls as demo and therefore expects to
be executed in rv64 linux.
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..f1ea8b0 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,20 @@ +#![no_std] +#![no_main] + +use user_sw::{eprintln, println, sys}; + +fn main() { + println!("Hello {} from rust main().", 1337); +} + +#[no_mangle] +pub extern "C" fn _start() -> ! { + main(); + sys::exit(0); +} + +#[panic_handler] +fn panic_handler(info: &core::panic::PanicInfo) -> ! { + eprintln!("{}", info); + sys::exit(42); +} |