diff --git a/01_wait_forever/Makefile b/01_wait_forever/Makefile index 6d50a2db..cd987db5 100644 --- a/01_wait_forever/Makefile +++ b/01_wait_forever/Makefile @@ -28,7 +28,7 @@ ifeq ($(BSP),rpi3) OBJDUMP_BINARY = aarch64-none-elf-objdump NM_BINARY = aarch64-none-elf-nm READELF_BINARY = aarch64-none-elf-readelf - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a53 else ifeq ($(BSP),rpi4) TARGET = aarch64-unknown-none-softfloat @@ -39,7 +39,7 @@ else ifeq ($(BSP),rpi4) OBJDUMP_BINARY = aarch64-none-elf-objdump NM_BINARY = aarch64-none-elf-nm READELF_BINARY = aarch64-none-elf-readelf - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a72 endif diff --git a/01_wait_forever/build.rs b/01_wait_forever/build.rs index f53b9949..cab00bb3 100644 --- a/01_wait_forever/build.rs +++ b/01_wait_forever/build.rs @@ -1,7 +1,10 @@ -use std::{env, fs}; +use std::{env, fs, process}; fn main() { - let ld_script_path = env::var("LD_SCRIPT_PATH").unwrap_or_default(); + let ld_script_path = match env::var("LD_SCRIPT_PATH") { + Ok(var) => var, + _ => process::exit(0), + }; let files = fs::read_dir(ld_script_path).unwrap(); files diff --git a/02_runtime_init/Makefile b/02_runtime_init/Makefile index d96f72e6..d1d71ec9 100644 --- a/02_runtime_init/Makefile +++ b/02_runtime_init/Makefile @@ -28,7 +28,7 @@ ifeq ($(BSP),rpi3) OBJDUMP_BINARY = aarch64-none-elf-objdump NM_BINARY = aarch64-none-elf-nm READELF_BINARY = aarch64-none-elf-readelf - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a53 else ifeq ($(BSP),rpi4) TARGET = aarch64-unknown-none-softfloat @@ -39,7 +39,7 @@ else ifeq ($(BSP),rpi4) OBJDUMP_BINARY = aarch64-none-elf-objdump NM_BINARY = aarch64-none-elf-nm READELF_BINARY = aarch64-none-elf-readelf - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a72 endif diff --git a/02_runtime_init/build.rs b/02_runtime_init/build.rs index f53b9949..cab00bb3 100644 --- a/02_runtime_init/build.rs +++ b/02_runtime_init/build.rs @@ -1,7 +1,10 @@ -use std::{env, fs}; +use std::{env, fs, process}; fn main() { - let ld_script_path = env::var("LD_SCRIPT_PATH").unwrap_or_default(); + let ld_script_path = match env::var("LD_SCRIPT_PATH") { + Ok(var) => var, + _ => process::exit(0), + }; let files = fs::read_dir(ld_script_path).unwrap(); files diff --git a/03_hacky_hello_world/Makefile b/03_hacky_hello_world/Makefile index b74e2761..49dcc1ed 100644 --- a/03_hacky_hello_world/Makefile +++ b/03_hacky_hello_world/Makefile @@ -28,7 +28,7 @@ ifeq ($(BSP),rpi3) OBJDUMP_BINARY = aarch64-none-elf-objdump NM_BINARY = aarch64-none-elf-nm READELF_BINARY = aarch64-none-elf-readelf - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a53 else ifeq ($(BSP),rpi4) TARGET = aarch64-unknown-none-softfloat @@ -39,7 +39,7 @@ else ifeq ($(BSP),rpi4) OBJDUMP_BINARY = aarch64-none-elf-objdump NM_BINARY = aarch64-none-elf-nm READELF_BINARY = aarch64-none-elf-readelf - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a72 endif diff --git a/03_hacky_hello_world/build.rs b/03_hacky_hello_world/build.rs index f53b9949..cab00bb3 100644 --- a/03_hacky_hello_world/build.rs +++ b/03_hacky_hello_world/build.rs @@ -1,7 +1,10 @@ -use std::{env, fs}; +use std::{env, fs, process}; fn main() { - let ld_script_path = env::var("LD_SCRIPT_PATH").unwrap_or_default(); + let ld_script_path = match env::var("LD_SCRIPT_PATH") { + Ok(var) => var, + _ => process::exit(0), + }; let files = fs::read_dir(ld_script_path).unwrap(); files diff --git a/04_safe_globals/Makefile b/04_safe_globals/Makefile index b74e2761..49dcc1ed 100644 --- a/04_safe_globals/Makefile +++ b/04_safe_globals/Makefile @@ -28,7 +28,7 @@ ifeq ($(BSP),rpi3) OBJDUMP_BINARY = aarch64-none-elf-objdump NM_BINARY = aarch64-none-elf-nm READELF_BINARY = aarch64-none-elf-readelf - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a53 else ifeq ($(BSP),rpi4) TARGET = aarch64-unknown-none-softfloat @@ -39,7 +39,7 @@ else ifeq ($(BSP),rpi4) OBJDUMP_BINARY = aarch64-none-elf-objdump NM_BINARY = aarch64-none-elf-nm READELF_BINARY = aarch64-none-elf-readelf - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a72 endif diff --git a/04_safe_globals/build.rs b/04_safe_globals/build.rs index f53b9949..cab00bb3 100644 --- a/04_safe_globals/build.rs +++ b/04_safe_globals/build.rs @@ -1,7 +1,10 @@ -use std::{env, fs}; +use std::{env, fs, process}; fn main() { - let ld_script_path = env::var("LD_SCRIPT_PATH").unwrap_or_default(); + let ld_script_path = match env::var("LD_SCRIPT_PATH") { + Ok(var) => var, + _ => process::exit(0), + }; let files = fs::read_dir(ld_script_path).unwrap(); files diff --git a/05_drivers_gpio_uart/Makefile b/05_drivers_gpio_uart/Makefile index aacf9771..28702bc8 100644 --- a/05_drivers_gpio_uart/Makefile +++ b/05_drivers_gpio_uart/Makefile @@ -31,7 +31,7 @@ ifeq ($(BSP),rpi3) OBJDUMP_BINARY = aarch64-none-elf-objdump NM_BINARY = aarch64-none-elf-nm READELF_BINARY = aarch64-none-elf-readelf - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a53 else ifeq ($(BSP),rpi4) TARGET = aarch64-unknown-none-softfloat @@ -42,7 +42,7 @@ else ifeq ($(BSP),rpi4) OBJDUMP_BINARY = aarch64-none-elf-objdump NM_BINARY = aarch64-none-elf-nm READELF_BINARY = aarch64-none-elf-readelf - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a72 endif diff --git a/05_drivers_gpio_uart/build.rs b/05_drivers_gpio_uart/build.rs index f53b9949..cab00bb3 100644 --- a/05_drivers_gpio_uart/build.rs +++ b/05_drivers_gpio_uart/build.rs @@ -1,7 +1,10 @@ -use std::{env, fs}; +use std::{env, fs, process}; fn main() { - let ld_script_path = env::var("LD_SCRIPT_PATH").unwrap_or_default(); + let ld_script_path = match env::var("LD_SCRIPT_PATH") { + Ok(var) => var, + _ => process::exit(0), + }; let files = fs::read_dir(ld_script_path).unwrap(); files diff --git a/06_uart_chainloader/Makefile b/06_uart_chainloader/Makefile index b697a68d..b3af24c5 100644 --- a/06_uart_chainloader/Makefile +++ b/06_uart_chainloader/Makefile @@ -31,7 +31,7 @@ ifeq ($(BSP),rpi3) OBJDUMP_BINARY = aarch64-none-elf-objdump NM_BINARY = aarch64-none-elf-nm READELF_BINARY = aarch64-none-elf-readelf - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a53 CHAINBOOT_DEMO_PAYLOAD = demo_payload_rpi3.img else ifeq ($(BSP),rpi4) @@ -43,7 +43,7 @@ else ifeq ($(BSP),rpi4) OBJDUMP_BINARY = aarch64-none-elf-objdump NM_BINARY = aarch64-none-elf-nm READELF_BINARY = aarch64-none-elf-readelf - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a72 CHAINBOOT_DEMO_PAYLOAD = demo_payload_rpi4.img endif diff --git a/06_uart_chainloader/README.md b/06_uart_chainloader/README.md index cec77476..f07131ec 100644 --- a/06_uart_chainloader/README.md +++ b/06_uart_chainloader/README.md @@ -150,6 +150,8 @@ diff -uNr 05_drivers_gpio_uart/Makefile 06_uart_chainloader/Makefile - OBJDUMP_BINARY = aarch64-none-elf-objdump - NM_BINARY = aarch64-none-elf-nm - READELF_BINARY = aarch64-none-elf-readelf +- LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi +- RUSTC_MISC_ARGS = -C target-cpu=cortex-a53 + TARGET = aarch64-unknown-none-softfloat + KERNEL_BIN = kernel8.img + QEMU_BINARY = qemu-system-aarch64 @@ -158,8 +160,7 @@ diff -uNr 05_drivers_gpio_uart/Makefile 06_uart_chainloader/Makefile + OBJDUMP_BINARY = aarch64-none-elf-objdump + NM_BINARY = aarch64-none-elf-nm + READELF_BINARY = aarch64-none-elf-readelf - LD_SCRIPT_PATH = src/bsp/raspberrypi -- RUSTC_MISC_ARGS = -C target-cpu=cortex-a53 ++ LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi + RUSTC_MISC_ARGS = -C target-cpu=cortex-a53 + CHAINBOOT_DEMO_PAYLOAD = demo_payload_rpi3.img else ifeq ($(BSP),rpi4) @@ -171,6 +172,8 @@ diff -uNr 05_drivers_gpio_uart/Makefile 06_uart_chainloader/Makefile - OBJDUMP_BINARY = aarch64-none-elf-objdump - NM_BINARY = aarch64-none-elf-nm - READELF_BINARY = aarch64-none-elf-readelf +- LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi +- RUSTC_MISC_ARGS = -C target-cpu=cortex-a72 + TARGET = aarch64-unknown-none-softfloat + KERNEL_BIN = kernel8.img + QEMU_BINARY = qemu-system-aarch64 @@ -179,8 +182,7 @@ diff -uNr 05_drivers_gpio_uart/Makefile 06_uart_chainloader/Makefile + OBJDUMP_BINARY = aarch64-none-elf-objdump + NM_BINARY = aarch64-none-elf-nm + READELF_BINARY = aarch64-none-elf-readelf - LD_SCRIPT_PATH = src/bsp/raspberrypi -- RUSTC_MISC_ARGS = -C target-cpu=cortex-a72 ++ LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi + RUSTC_MISC_ARGS = -C target-cpu=cortex-a72 + CHAINBOOT_DEMO_PAYLOAD = demo_payload_rpi4.img endif diff --git a/06_uart_chainloader/build.rs b/06_uart_chainloader/build.rs index f53b9949..cab00bb3 100644 --- a/06_uart_chainloader/build.rs +++ b/06_uart_chainloader/build.rs @@ -1,7 +1,10 @@ -use std::{env, fs}; +use std::{env, fs, process}; fn main() { - let ld_script_path = env::var("LD_SCRIPT_PATH").unwrap_or_default(); + let ld_script_path = match env::var("LD_SCRIPT_PATH") { + Ok(var) => var, + _ => process::exit(0), + }; let files = fs::read_dir(ld_script_path).unwrap(); files diff --git a/07_timestamps/Makefile b/07_timestamps/Makefile index 1f2158e6..3f6b230a 100644 --- a/07_timestamps/Makefile +++ b/07_timestamps/Makefile @@ -31,7 +31,7 @@ ifeq ($(BSP),rpi3) OBJDUMP_BINARY = aarch64-none-elf-objdump NM_BINARY = aarch64-none-elf-nm READELF_BINARY = aarch64-none-elf-readelf - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a53 else ifeq ($(BSP),rpi4) TARGET = aarch64-unknown-none-softfloat @@ -42,7 +42,7 @@ else ifeq ($(BSP),rpi4) OBJDUMP_BINARY = aarch64-none-elf-objdump NM_BINARY = aarch64-none-elf-nm READELF_BINARY = aarch64-none-elf-readelf - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a72 endif diff --git a/07_timestamps/README.md b/07_timestamps/README.md index d5e50466..14bdc6bd 100644 --- a/07_timestamps/README.md +++ b/07_timestamps/README.md @@ -74,6 +74,9 @@ diff -uNr 06_uart_chainloader/Makefile 07_timestamps/Makefile - OBJDUMP_BINARY = aarch64-none-elf-objdump - NM_BINARY = aarch64-none-elf-nm - READELF_BINARY = aarch64-none-elf-readelf +- LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi +- RUSTC_MISC_ARGS = -C target-cpu=cortex-a53 +- CHAINBOOT_DEMO_PAYLOAD = demo_payload_rpi3.img + TARGET = aarch64-unknown-none-softfloat + KERNEL_BIN = kernel8.img + QEMU_BINARY = qemu-system-aarch64 @@ -82,9 +85,7 @@ diff -uNr 06_uart_chainloader/Makefile 07_timestamps/Makefile + OBJDUMP_BINARY = aarch64-none-elf-objdump + NM_BINARY = aarch64-none-elf-nm + READELF_BINARY = aarch64-none-elf-readelf - LD_SCRIPT_PATH = src/bsp/raspberrypi -- RUSTC_MISC_ARGS = -C target-cpu=cortex-a53 -- CHAINBOOT_DEMO_PAYLOAD = demo_payload_rpi3.img ++ LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi + RUSTC_MISC_ARGS = -C target-cpu=cortex-a53 else ifeq ($(BSP),rpi4) - TARGET = aarch64-unknown-none-softfloat @@ -95,6 +96,9 @@ diff -uNr 06_uart_chainloader/Makefile 07_timestamps/Makefile - OBJDUMP_BINARY = aarch64-none-elf-objdump - NM_BINARY = aarch64-none-elf-nm - READELF_BINARY = aarch64-none-elf-readelf +- LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi +- RUSTC_MISC_ARGS = -C target-cpu=cortex-a72 +- CHAINBOOT_DEMO_PAYLOAD = demo_payload_rpi4.img + TARGET = aarch64-unknown-none-softfloat + KERNEL_BIN = kernel8.img + QEMU_BINARY = qemu-system-aarch64 @@ -103,9 +107,7 @@ diff -uNr 06_uart_chainloader/Makefile 07_timestamps/Makefile + OBJDUMP_BINARY = aarch64-none-elf-objdump + NM_BINARY = aarch64-none-elf-nm + READELF_BINARY = aarch64-none-elf-readelf - LD_SCRIPT_PATH = src/bsp/raspberrypi -- RUSTC_MISC_ARGS = -C target-cpu=cortex-a72 -- CHAINBOOT_DEMO_PAYLOAD = demo_payload_rpi4.img ++ LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi + RUSTC_MISC_ARGS = -C target-cpu=cortex-a72 endif diff --git a/07_timestamps/build.rs b/07_timestamps/build.rs index f53b9949..cab00bb3 100644 --- a/07_timestamps/build.rs +++ b/07_timestamps/build.rs @@ -1,7 +1,10 @@ -use std::{env, fs}; +use std::{env, fs, process}; fn main() { - let ld_script_path = env::var("LD_SCRIPT_PATH").unwrap_or_default(); + let ld_script_path = match env::var("LD_SCRIPT_PATH") { + Ok(var) => var, + _ => process::exit(0), + }; let files = fs::read_dir(ld_script_path).unwrap(); files diff --git a/08_hw_debug_JTAG/Makefile b/08_hw_debug_JTAG/Makefile index 813a6112..e3db66a9 100644 --- a/08_hw_debug_JTAG/Makefile +++ b/08_hw_debug_JTAG/Makefile @@ -33,7 +33,7 @@ ifeq ($(BSP),rpi3) READELF_BINARY = aarch64-none-elf-readelf OPENOCD_ARG = -f /openocd/tcl/interface/ftdi/olimex-arm-usb-tiny-h.cfg -f /openocd/rpi3.cfg JTAG_BOOT_IMAGE = ../X1_JTAG_boot/jtag_boot_rpi3.img - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a53 else ifeq ($(BSP),rpi4) TARGET = aarch64-unknown-none-softfloat @@ -46,7 +46,7 @@ else ifeq ($(BSP),rpi4) READELF_BINARY = aarch64-none-elf-readelf OPENOCD_ARG = -f /openocd/tcl/interface/ftdi/olimex-arm-usb-tiny-h.cfg -f /openocd/rpi4.cfg JTAG_BOOT_IMAGE = ../X1_JTAG_boot/jtag_boot_rpi4.img - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a72 endif diff --git a/08_hw_debug_JTAG/README.md b/08_hw_debug_JTAG/README.md index 33fa69b2..902ca6e4 100644 --- a/08_hw_debug_JTAG/README.md +++ b/08_hw_debug_JTAG/README.md @@ -326,7 +326,7 @@ diff -uNr 07_timestamps/Makefile 08_hw_debug_JTAG/Makefile READELF_BINARY = aarch64-none-elf-readelf + OPENOCD_ARG = -f /openocd/tcl/interface/ftdi/olimex-arm-usb-tiny-h.cfg -f /openocd/rpi3.cfg + JTAG_BOOT_IMAGE = ../X1_JTAG_boot/jtag_boot_rpi3.img - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a53 else ifeq ($(BSP),rpi4) @@ -42,6 +44,8 @@ @@ -335,7 +335,7 @@ diff -uNr 07_timestamps/Makefile 08_hw_debug_JTAG/Makefile READELF_BINARY = aarch64-none-elf-readelf + OPENOCD_ARG = -f /openocd/tcl/interface/ftdi/olimex-arm-usb-tiny-h.cfg -f /openocd/rpi4.cfg + JTAG_BOOT_IMAGE = ../X1_JTAG_boot/jtag_boot_rpi4.img - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a72 endif @@ -99,18 +103,25 @@ diff --git a/08_hw_debug_JTAG/build.rs b/08_hw_debug_JTAG/build.rs index f53b9949..cab00bb3 100644 --- a/08_hw_debug_JTAG/build.rs +++ b/08_hw_debug_JTAG/build.rs @@ -1,7 +1,10 @@ -use std::{env, fs}; +use std::{env, fs, process}; fn main() { - let ld_script_path = env::var("LD_SCRIPT_PATH").unwrap_or_default(); + let ld_script_path = match env::var("LD_SCRIPT_PATH") { + Ok(var) => var, + _ => process::exit(0), + }; let files = fs::read_dir(ld_script_path).unwrap(); files diff --git a/09_privilege_level/Makefile b/09_privilege_level/Makefile index 813a6112..e3db66a9 100644 --- a/09_privilege_level/Makefile +++ b/09_privilege_level/Makefile @@ -33,7 +33,7 @@ ifeq ($(BSP),rpi3) READELF_BINARY = aarch64-none-elf-readelf OPENOCD_ARG = -f /openocd/tcl/interface/ftdi/olimex-arm-usb-tiny-h.cfg -f /openocd/rpi3.cfg JTAG_BOOT_IMAGE = ../X1_JTAG_boot/jtag_boot_rpi3.img - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a53 else ifeq ($(BSP),rpi4) TARGET = aarch64-unknown-none-softfloat @@ -46,7 +46,7 @@ else ifeq ($(BSP),rpi4) READELF_BINARY = aarch64-none-elf-readelf OPENOCD_ARG = -f /openocd/tcl/interface/ftdi/olimex-arm-usb-tiny-h.cfg -f /openocd/rpi4.cfg JTAG_BOOT_IMAGE = ../X1_JTAG_boot/jtag_boot_rpi4.img - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a72 endif diff --git a/09_privilege_level/build.rs b/09_privilege_level/build.rs index f53b9949..cab00bb3 100644 --- a/09_privilege_level/build.rs +++ b/09_privilege_level/build.rs @@ -1,7 +1,10 @@ -use std::{env, fs}; +use std::{env, fs, process}; fn main() { - let ld_script_path = env::var("LD_SCRIPT_PATH").unwrap_or_default(); + let ld_script_path = match env::var("LD_SCRIPT_PATH") { + Ok(var) => var, + _ => process::exit(0), + }; let files = fs::read_dir(ld_script_path).unwrap(); files diff --git a/10_virtual_mem_part1_identity_mapping/Makefile b/10_virtual_mem_part1_identity_mapping/Makefile index 813a6112..e3db66a9 100644 --- a/10_virtual_mem_part1_identity_mapping/Makefile +++ b/10_virtual_mem_part1_identity_mapping/Makefile @@ -33,7 +33,7 @@ ifeq ($(BSP),rpi3) READELF_BINARY = aarch64-none-elf-readelf OPENOCD_ARG = -f /openocd/tcl/interface/ftdi/olimex-arm-usb-tiny-h.cfg -f /openocd/rpi3.cfg JTAG_BOOT_IMAGE = ../X1_JTAG_boot/jtag_boot_rpi3.img - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a53 else ifeq ($(BSP),rpi4) TARGET = aarch64-unknown-none-softfloat @@ -46,7 +46,7 @@ else ifeq ($(BSP),rpi4) READELF_BINARY = aarch64-none-elf-readelf OPENOCD_ARG = -f /openocd/tcl/interface/ftdi/olimex-arm-usb-tiny-h.cfg -f /openocd/rpi4.cfg JTAG_BOOT_IMAGE = ../X1_JTAG_boot/jtag_boot_rpi4.img - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a72 endif diff --git a/10_virtual_mem_part1_identity_mapping/build.rs b/10_virtual_mem_part1_identity_mapping/build.rs index f53b9949..cab00bb3 100644 --- a/10_virtual_mem_part1_identity_mapping/build.rs +++ b/10_virtual_mem_part1_identity_mapping/build.rs @@ -1,7 +1,10 @@ -use std::{env, fs}; +use std::{env, fs, process}; fn main() { - let ld_script_path = env::var("LD_SCRIPT_PATH").unwrap_or_default(); + let ld_script_path = match env::var("LD_SCRIPT_PATH") { + Ok(var) => var, + _ => process::exit(0), + }; let files = fs::read_dir(ld_script_path).unwrap(); files diff --git a/11_exceptions_part1_groundwork/Makefile b/11_exceptions_part1_groundwork/Makefile index 813a6112..e3db66a9 100644 --- a/11_exceptions_part1_groundwork/Makefile +++ b/11_exceptions_part1_groundwork/Makefile @@ -33,7 +33,7 @@ ifeq ($(BSP),rpi3) READELF_BINARY = aarch64-none-elf-readelf OPENOCD_ARG = -f /openocd/tcl/interface/ftdi/olimex-arm-usb-tiny-h.cfg -f /openocd/rpi3.cfg JTAG_BOOT_IMAGE = ../X1_JTAG_boot/jtag_boot_rpi3.img - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a53 else ifeq ($(BSP),rpi4) TARGET = aarch64-unknown-none-softfloat @@ -46,7 +46,7 @@ else ifeq ($(BSP),rpi4) READELF_BINARY = aarch64-none-elf-readelf OPENOCD_ARG = -f /openocd/tcl/interface/ftdi/olimex-arm-usb-tiny-h.cfg -f /openocd/rpi4.cfg JTAG_BOOT_IMAGE = ../X1_JTAG_boot/jtag_boot_rpi4.img - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a72 endif diff --git a/11_exceptions_part1_groundwork/build.rs b/11_exceptions_part1_groundwork/build.rs index f53b9949..cab00bb3 100644 --- a/11_exceptions_part1_groundwork/build.rs +++ b/11_exceptions_part1_groundwork/build.rs @@ -1,7 +1,10 @@ -use std::{env, fs}; +use std::{env, fs, process}; fn main() { - let ld_script_path = env::var("LD_SCRIPT_PATH").unwrap_or_default(); + let ld_script_path = match env::var("LD_SCRIPT_PATH") { + Ok(var) => var, + _ => process::exit(0), + }; let files = fs::read_dir(ld_script_path).unwrap(); files diff --git a/12_integrated_testing/Makefile b/12_integrated_testing/Makefile index 4e499306..afa22480 100644 --- a/12_integrated_testing/Makefile +++ b/12_integrated_testing/Makefile @@ -41,7 +41,7 @@ ifeq ($(BSP),rpi3) READELF_BINARY = aarch64-none-elf-readelf OPENOCD_ARG = -f /openocd/tcl/interface/ftdi/olimex-arm-usb-tiny-h.cfg -f /openocd/rpi3.cfg JTAG_BOOT_IMAGE = ../X1_JTAG_boot/jtag_boot_rpi3.img - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a53 else ifeq ($(BSP),rpi4) TARGET = aarch64-unknown-none-softfloat @@ -55,7 +55,7 @@ else ifeq ($(BSP),rpi4) READELF_BINARY = aarch64-none-elf-readelf OPENOCD_ARG = -f /openocd/tcl/interface/ftdi/olimex-arm-usb-tiny-h.cfg -f /openocd/rpi4.cfg JTAG_BOOT_IMAGE = ../X1_JTAG_boot/jtag_boot_rpi4.img - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a72 endif diff --git a/12_integrated_testing/build.rs b/12_integrated_testing/build.rs index f53b9949..cab00bb3 100644 --- a/12_integrated_testing/build.rs +++ b/12_integrated_testing/build.rs @@ -1,7 +1,10 @@ -use std::{env, fs}; +use std::{env, fs, process}; fn main() { - let ld_script_path = env::var("LD_SCRIPT_PATH").unwrap_or_default(); + let ld_script_path = match env::var("LD_SCRIPT_PATH") { + Ok(var) => var, + _ => process::exit(0), + }; let files = fs::read_dir(ld_script_path).unwrap(); files diff --git a/13_exceptions_part2_peripheral_IRQs/Makefile b/13_exceptions_part2_peripheral_IRQs/Makefile index 4e499306..afa22480 100644 --- a/13_exceptions_part2_peripheral_IRQs/Makefile +++ b/13_exceptions_part2_peripheral_IRQs/Makefile @@ -41,7 +41,7 @@ ifeq ($(BSP),rpi3) READELF_BINARY = aarch64-none-elf-readelf OPENOCD_ARG = -f /openocd/tcl/interface/ftdi/olimex-arm-usb-tiny-h.cfg -f /openocd/rpi3.cfg JTAG_BOOT_IMAGE = ../X1_JTAG_boot/jtag_boot_rpi3.img - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a53 else ifeq ($(BSP),rpi4) TARGET = aarch64-unknown-none-softfloat @@ -55,7 +55,7 @@ else ifeq ($(BSP),rpi4) READELF_BINARY = aarch64-none-elf-readelf OPENOCD_ARG = -f /openocd/tcl/interface/ftdi/olimex-arm-usb-tiny-h.cfg -f /openocd/rpi4.cfg JTAG_BOOT_IMAGE = ../X1_JTAG_boot/jtag_boot_rpi4.img - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a72 endif diff --git a/13_exceptions_part2_peripheral_IRQs/build.rs b/13_exceptions_part2_peripheral_IRQs/build.rs index f53b9949..cab00bb3 100644 --- a/13_exceptions_part2_peripheral_IRQs/build.rs +++ b/13_exceptions_part2_peripheral_IRQs/build.rs @@ -1,7 +1,10 @@ -use std::{env, fs}; +use std::{env, fs, process}; fn main() { - let ld_script_path = env::var("LD_SCRIPT_PATH").unwrap_or_default(); + let ld_script_path = match env::var("LD_SCRIPT_PATH") { + Ok(var) => var, + _ => process::exit(0), + }; let files = fs::read_dir(ld_script_path).unwrap(); files diff --git a/14_virtual_mem_part2_mmio_remap/Makefile b/14_virtual_mem_part2_mmio_remap/Makefile index 4e499306..afa22480 100644 --- a/14_virtual_mem_part2_mmio_remap/Makefile +++ b/14_virtual_mem_part2_mmio_remap/Makefile @@ -41,7 +41,7 @@ ifeq ($(BSP),rpi3) READELF_BINARY = aarch64-none-elf-readelf OPENOCD_ARG = -f /openocd/tcl/interface/ftdi/olimex-arm-usb-tiny-h.cfg -f /openocd/rpi3.cfg JTAG_BOOT_IMAGE = ../X1_JTAG_boot/jtag_boot_rpi3.img - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a53 else ifeq ($(BSP),rpi4) TARGET = aarch64-unknown-none-softfloat @@ -55,7 +55,7 @@ else ifeq ($(BSP),rpi4) READELF_BINARY = aarch64-none-elf-readelf OPENOCD_ARG = -f /openocd/tcl/interface/ftdi/olimex-arm-usb-tiny-h.cfg -f /openocd/rpi4.cfg JTAG_BOOT_IMAGE = ../X1_JTAG_boot/jtag_boot_rpi4.img - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a72 endif diff --git a/14_virtual_mem_part2_mmio_remap/build.rs b/14_virtual_mem_part2_mmio_remap/build.rs index f53b9949..cab00bb3 100644 --- a/14_virtual_mem_part2_mmio_remap/build.rs +++ b/14_virtual_mem_part2_mmio_remap/build.rs @@ -1,7 +1,10 @@ -use std::{env, fs}; +use std::{env, fs, process}; fn main() { - let ld_script_path = env::var("LD_SCRIPT_PATH").unwrap_or_default(); + let ld_script_path = match env::var("LD_SCRIPT_PATH") { + Ok(var) => var, + _ => process::exit(0), + }; let files = fs::read_dir(ld_script_path).unwrap(); files diff --git a/15_virtual_mem_part3_precomputed_tables/Makefile b/15_virtual_mem_part3_precomputed_tables/Makefile index 15dc5af0..fec9097c 100644 --- a/15_virtual_mem_part3_precomputed_tables/Makefile +++ b/15_virtual_mem_part3_precomputed_tables/Makefile @@ -41,7 +41,7 @@ ifeq ($(BSP),rpi3) READELF_BINARY = aarch64-none-elf-readelf OPENOCD_ARG = -f /openocd/tcl/interface/ftdi/olimex-arm-usb-tiny-h.cfg -f /openocd/rpi3.cfg JTAG_BOOT_IMAGE = ../X1_JTAG_boot/jtag_boot_rpi3.img - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a53 else ifeq ($(BSP),rpi4) TARGET = aarch64-unknown-none-softfloat @@ -55,7 +55,7 @@ else ifeq ($(BSP),rpi4) READELF_BINARY = aarch64-none-elf-readelf OPENOCD_ARG = -f /openocd/tcl/interface/ftdi/olimex-arm-usb-tiny-h.cfg -f /openocd/rpi4.cfg JTAG_BOOT_IMAGE = ../X1_JTAG_boot/jtag_boot_rpi4.img - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a72 endif diff --git a/15_virtual_mem_part3_precomputed_tables/build.rs b/15_virtual_mem_part3_precomputed_tables/build.rs index f53b9949..cab00bb3 100644 --- a/15_virtual_mem_part3_precomputed_tables/build.rs +++ b/15_virtual_mem_part3_precomputed_tables/build.rs @@ -1,7 +1,10 @@ -use std::{env, fs}; +use std::{env, fs, process}; fn main() { - let ld_script_path = env::var("LD_SCRIPT_PATH").unwrap_or_default(); + let ld_script_path = match env::var("LD_SCRIPT_PATH") { + Ok(var) => var, + _ => process::exit(0), + }; let files = fs::read_dir(ld_script_path).unwrap(); files diff --git a/16_virtual_mem_part4_higher_half_kernel/Makefile b/16_virtual_mem_part4_higher_half_kernel/Makefile index 15dc5af0..fec9097c 100644 --- a/16_virtual_mem_part4_higher_half_kernel/Makefile +++ b/16_virtual_mem_part4_higher_half_kernel/Makefile @@ -41,7 +41,7 @@ ifeq ($(BSP),rpi3) READELF_BINARY = aarch64-none-elf-readelf OPENOCD_ARG = -f /openocd/tcl/interface/ftdi/olimex-arm-usb-tiny-h.cfg -f /openocd/rpi3.cfg JTAG_BOOT_IMAGE = ../X1_JTAG_boot/jtag_boot_rpi3.img - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a53 else ifeq ($(BSP),rpi4) TARGET = aarch64-unknown-none-softfloat @@ -55,7 +55,7 @@ else ifeq ($(BSP),rpi4) READELF_BINARY = aarch64-none-elf-readelf OPENOCD_ARG = -f /openocd/tcl/interface/ftdi/olimex-arm-usb-tiny-h.cfg -f /openocd/rpi4.cfg JTAG_BOOT_IMAGE = ../X1_JTAG_boot/jtag_boot_rpi4.img - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a72 endif diff --git a/16_virtual_mem_part4_higher_half_kernel/build.rs b/16_virtual_mem_part4_higher_half_kernel/build.rs index f53b9949..cab00bb3 100644 --- a/16_virtual_mem_part4_higher_half_kernel/build.rs +++ b/16_virtual_mem_part4_higher_half_kernel/build.rs @@ -1,7 +1,10 @@ -use std::{env, fs}; +use std::{env, fs, process}; fn main() { - let ld_script_path = env::var("LD_SCRIPT_PATH").unwrap_or_default(); + let ld_script_path = match env::var("LD_SCRIPT_PATH") { + Ok(var) => var, + _ => process::exit(0), + }; let files = fs::read_dir(ld_script_path).unwrap(); files diff --git a/X1_JTAG_boot/Makefile b/X1_JTAG_boot/Makefile index 1f2158e6..3f6b230a 100644 --- a/X1_JTAG_boot/Makefile +++ b/X1_JTAG_boot/Makefile @@ -31,7 +31,7 @@ ifeq ($(BSP),rpi3) OBJDUMP_BINARY = aarch64-none-elf-objdump NM_BINARY = aarch64-none-elf-nm READELF_BINARY = aarch64-none-elf-readelf - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a53 else ifeq ($(BSP),rpi4) TARGET = aarch64-unknown-none-softfloat @@ -42,7 +42,7 @@ else ifeq ($(BSP),rpi4) OBJDUMP_BINARY = aarch64-none-elf-objdump NM_BINARY = aarch64-none-elf-nm READELF_BINARY = aarch64-none-elf-readelf - LD_SCRIPT_PATH = src/bsp/raspberrypi + LD_SCRIPT_PATH = $(shell pwd)/src/bsp/raspberrypi RUSTC_MISC_ARGS = -C target-cpu=cortex-a72 endif diff --git a/X1_JTAG_boot/build.rs b/X1_JTAG_boot/build.rs index f53b9949..cab00bb3 100644 --- a/X1_JTAG_boot/build.rs +++ b/X1_JTAG_boot/build.rs @@ -1,7 +1,10 @@ -use std::{env, fs}; +use std::{env, fs, process}; fn main() { - let ld_script_path = env::var("LD_SCRIPT_PATH").unwrap_or_default(); + let ld_script_path = match env::var("LD_SCRIPT_PATH") { + Ok(var) => var, + _ => process::exit(0), + }; let files = fs::read_dir(ld_script_path).unwrap(); files