Skip to content
Snippets Groups Projects
Commit 34894e3d authored by Jeremy Soller's avatar Jeremy Soller
Browse files

Merge branch 'fix_aarch64' into 'master'

Fix unaligned_references error on aarch64

See merge request !213
parents 89d560e6 a451c0aa
No related branches found
No related tags found
1 merge request!213Fix unaligned_references error on aarch64
...@@ -104,13 +104,13 @@ pub unsafe extern fn kstart(args_ptr: *const KernelArgs) -> ! { ...@@ -104,13 +104,13 @@ pub unsafe extern fn kstart(args_ptr: *const KernelArgs) -> ! {
}); });
info!("Redox OS starting..."); info!("Redox OS starting...");
info!("Kernel: {:X}:{:X}", args.kernel_base, args.kernel_base + args.kernel_size); info!("Kernel: {:X}:{:X}", {args.kernel_base}, args.kernel_base + args.kernel_size);
info!("Stack: {:X}:{:X}", args.stack_base, args.stack_base + args.stack_size); info!("Stack: {:X}:{:X}", {args.stack_base}, args.stack_base + args.stack_size);
info!("Env: {:X}:{:X}", args.env_base, args.env_base + args.env_size); info!("Env: {:X}:{:X}", {args.env_base}, args.env_base + args.env_size);
info!("RSDPs: {:X}:{:X}", args.dtb_base, args.dtb_base + args.dtb_size); info!("RSDPs: {:X}:{:X}", {args.dtb_base}, args.dtb_base + args.dtb_size);
info!("Areas: {:X}:{:X}", args.areas_base, args.areas_base + args.areas_size); info!("Areas: {:X}:{:X}", {args.areas_base}, args.areas_base + args.areas_size);
info!("Bootstrap: {:X}:{:X}", args.bootstrap_base, args.bootstrap_base + args.bootstrap_size); info!("Bootstrap: {:X}:{:X}", {args.bootstrap_base}, args.bootstrap_base + args.bootstrap_size);
info!("Bootstrap entry point: {:X}", args.bootstrap_entry); info!("Bootstrap entry point: {:X}", {args.bootstrap_entry});
// Setup interrupt handlers // Setup interrupt handlers
extern "C" { extern "C" {
......
...@@ -186,7 +186,7 @@ pub unsafe fn switch_to(prev: &mut super::Context, next: &mut super::Context) { ...@@ -186,7 +186,7 @@ pub unsafe fn switch_to(prev: &mut super::Context, next: &mut super::Context) {
"stp q30, q31, [{0}, #16 * 30]", "stp q30, q31, [{0}, #16 * 30]",
"mrs {1}, fpcr", "mrs {1}, fpcr",
"mrs {2}, fpsr", "mrs {2}, fpsr",
in(reg) &mut float_regs.fp_simd_regs, in(reg) core::ptr::addr_of_mut!(float_regs.fp_simd_regs),
out(reg) float_regs.fpcr, out(reg) float_regs.fpcr,
out(reg) float_regs.fpsr out(reg) float_regs.fpsr
); );
...@@ -214,7 +214,7 @@ pub unsafe fn switch_to(prev: &mut super::Context, next: &mut super::Context) { ...@@ -214,7 +214,7 @@ pub unsafe fn switch_to(prev: &mut super::Context, next: &mut super::Context) {
"ldp q30, q31, [{0}, #16 * 30]", "ldp q30, q31, [{0}, #16 * 30]",
"msr fpcr, {1}", "msr fpcr, {1}",
"msr fpsr, {2}", "msr fpsr, {2}",
in(reg) &mut float_regs.fp_simd_regs, in(reg) core::ptr::addr_of_mut!(float_regs.fp_simd_regs),
in(reg) float_regs.fpcr, in(reg) float_regs.fpcr,
in(reg) float_regs.fpsr in(reg) float_regs.fpsr
); );
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment