1*1ae4ca04SPaolo Bonzini /* 2*1ae4ca04SPaolo Bonzini * QEMU System Emulator 3*1ae4ca04SPaolo Bonzini * 4*1ae4ca04SPaolo Bonzini * Copyright (c) 2024 Linaro Ltd. 5*1ae4ca04SPaolo Bonzini * 6*1ae4ca04SPaolo Bonzini * Authors: Manos Pitsidianakis <manos.pitsidianakis@linaro.org> 7*1ae4ca04SPaolo Bonzini * 8*1ae4ca04SPaolo Bonzini * Permission is hereby granted, free of charge, to any person obtaining a copy 9*1ae4ca04SPaolo Bonzini * of this software and associated documentation files (the "Software"), to deal 10*1ae4ca04SPaolo Bonzini * in the Software without restriction, including without limitation the rights 11*1ae4ca04SPaolo Bonzini * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12*1ae4ca04SPaolo Bonzini * copies of the Software, and to permit persons to whom the Software is 13*1ae4ca04SPaolo Bonzini * furnished to do so, subject to the following conditions: 14*1ae4ca04SPaolo Bonzini * 15*1ae4ca04SPaolo Bonzini * The above copyright notice and this permission notice shall be included in 16*1ae4ca04SPaolo Bonzini * all copies or substantial portions of the Software. 17*1ae4ca04SPaolo Bonzini * 18*1ae4ca04SPaolo Bonzini * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19*1ae4ca04SPaolo Bonzini * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20*1ae4ca04SPaolo Bonzini * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 21*1ae4ca04SPaolo Bonzini * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22*1ae4ca04SPaolo Bonzini * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23*1ae4ca04SPaolo Bonzini * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24*1ae4ca04SPaolo Bonzini * THE SOFTWARE. 25*1ae4ca04SPaolo Bonzini */ 26*1ae4ca04SPaolo Bonzini 27*1ae4ca04SPaolo Bonzini 28*1ae4ca04SPaolo Bonzini /* 29*1ae4ca04SPaolo Bonzini * This header file is meant to be used as input to the `bindgen` application 30*1ae4ca04SPaolo Bonzini * in order to generate C FFI compatible Rust bindings. 31*1ae4ca04SPaolo Bonzini */ 32*1ae4ca04SPaolo Bonzini 33*1ae4ca04SPaolo Bonzini #ifndef __CLANG_STDATOMIC_H 34*1ae4ca04SPaolo Bonzini #define __CLANG_STDATOMIC_H 35*1ae4ca04SPaolo Bonzini /* 36*1ae4ca04SPaolo Bonzini * Fix potential missing stdatomic.h error in case bindgen does not insert the 37*1ae4ca04SPaolo Bonzini * correct libclang header paths on its own. We do not use stdatomic.h symbols 38*1ae4ca04SPaolo Bonzini * in QEMU code, so it's fine to declare dummy types instead. 39*1ae4ca04SPaolo Bonzini */ 40*1ae4ca04SPaolo Bonzini typedef enum memory_order { 41*1ae4ca04SPaolo Bonzini memory_order_relaxed, 42*1ae4ca04SPaolo Bonzini memory_order_consume, 43*1ae4ca04SPaolo Bonzini memory_order_acquire, 44*1ae4ca04SPaolo Bonzini memory_order_release, 45*1ae4ca04SPaolo Bonzini memory_order_acq_rel, 46*1ae4ca04SPaolo Bonzini memory_order_seq_cst, 47*1ae4ca04SPaolo Bonzini } memory_order; 48*1ae4ca04SPaolo Bonzini #endif /* __CLANG_STDATOMIC_H */ 49*1ae4ca04SPaolo Bonzini 50*1ae4ca04SPaolo Bonzini #include "qemu/osdep.h" 51*1ae4ca04SPaolo Bonzini #include "qemu/module.h" 52*1ae4ca04SPaolo Bonzini #include "qemu-io.h" 53*1ae4ca04SPaolo Bonzini #include "system/system.h" 54*1ae4ca04SPaolo Bonzini #include "hw/sysbus.h" 55*1ae4ca04SPaolo Bonzini #include "system/memory.h" 56*1ae4ca04SPaolo Bonzini #include "chardev/char-fe.h" 57*1ae4ca04SPaolo Bonzini #include "hw/clock.h" 58*1ae4ca04SPaolo Bonzini #include "hw/qdev-clock.h" 59*1ae4ca04SPaolo Bonzini #include "hw/qdev-properties.h" 60*1ae4ca04SPaolo Bonzini #include "hw/qdev-properties-system.h" 61*1ae4ca04SPaolo Bonzini #include "hw/irq.h" 62*1ae4ca04SPaolo Bonzini #include "qapi/error.h" 63*1ae4ca04SPaolo Bonzini #include "qapi/error-internal.h" 64*1ae4ca04SPaolo Bonzini #include "migration/vmstate.h" 65*1ae4ca04SPaolo Bonzini #include "chardev/char-serial.h" 66*1ae4ca04SPaolo Bonzini #include "exec/memattrs.h" 67*1ae4ca04SPaolo Bonzini #include "qemu/timer.h" 68*1ae4ca04SPaolo Bonzini #include "system/address-spaces.h" 69*1ae4ca04SPaolo Bonzini #include "hw/char/pl011.h" 70