1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
/* * Copyright (c) 2018 by the author(s) * * ============================================================================= * * Licensed under either of * - Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0) * - MIT License (http://opensource.org/licenses/MIT) * at your option. * * ============================================================================= * * Author(s): * - Jorge Aparicio * - Andre Richter <andre.o.richter@gmail.com> */ //! Miscellaneous assembly instructions /// The classic no-op #[inline] pub fn nop() { match () { #[cfg(target_arch = "aarch64")] () => unsafe { asm!("nop" :::: "volatile") }, #[cfg(not(target_arch = "aarch64"))] () => unimplemented!(), } } /// Wait For Event #[inline] pub fn wfe() { match () { #[cfg(target_arch = "aarch64")] () => unsafe { asm!("wfe" :::: "volatile") }, #[cfg(not(target_arch = "aarch64"))] () => unimplemented!(), } }