11ae4ca04SPaolo Bonzini /* 21ae4ca04SPaolo Bonzini * QEMU System Emulator 31ae4ca04SPaolo Bonzini * 41ae4ca04SPaolo Bonzini * Copyright (c) 2024 Linaro Ltd. 51ae4ca04SPaolo Bonzini * 61ae4ca04SPaolo Bonzini * Authors: Manos Pitsidianakis <manos.pitsidianakis@linaro.org> 71ae4ca04SPaolo Bonzini * 81ae4ca04SPaolo Bonzini * Permission is hereby granted, free of charge, to any person obtaining a copy 91ae4ca04SPaolo Bonzini * of this software and associated documentation files (the "Software"), to deal 101ae4ca04SPaolo Bonzini * in the Software without restriction, including without limitation the rights 111ae4ca04SPaolo Bonzini * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 121ae4ca04SPaolo Bonzini * copies of the Software, and to permit persons to whom the Software is 131ae4ca04SPaolo Bonzini * furnished to do so, subject to the following conditions: 141ae4ca04SPaolo Bonzini * 151ae4ca04SPaolo Bonzini * The above copyright notice and this permission notice shall be included in 161ae4ca04SPaolo Bonzini * all copies or substantial portions of the Software. 171ae4ca04SPaolo Bonzini * 181ae4ca04SPaolo Bonzini * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 191ae4ca04SPaolo Bonzini * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 201ae4ca04SPaolo Bonzini * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 211ae4ca04SPaolo Bonzini * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 221ae4ca04SPaolo Bonzini * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 231ae4ca04SPaolo Bonzini * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 241ae4ca04SPaolo Bonzini * THE SOFTWARE. 251ae4ca04SPaolo Bonzini */ 261ae4ca04SPaolo Bonzini 271ae4ca04SPaolo Bonzini 281ae4ca04SPaolo Bonzini /* 291ae4ca04SPaolo Bonzini * This header file is meant to be used as input to the `bindgen` application 301ae4ca04SPaolo Bonzini * in order to generate C FFI compatible Rust bindings. 311ae4ca04SPaolo Bonzini */ 321ae4ca04SPaolo Bonzini 331ae4ca04SPaolo Bonzini #ifndef __CLANG_STDATOMIC_H 341ae4ca04SPaolo Bonzini #define __CLANG_STDATOMIC_H 351ae4ca04SPaolo Bonzini /* 361ae4ca04SPaolo Bonzini * Fix potential missing stdatomic.h error in case bindgen does not insert the 371ae4ca04SPaolo Bonzini * correct libclang header paths on its own. We do not use stdatomic.h symbols 381ae4ca04SPaolo Bonzini * in QEMU code, so it's fine to declare dummy types instead. 391ae4ca04SPaolo Bonzini */ 401ae4ca04SPaolo Bonzini typedef enum memory_order { 411ae4ca04SPaolo Bonzini memory_order_relaxed, 421ae4ca04SPaolo Bonzini memory_order_consume, 431ae4ca04SPaolo Bonzini memory_order_acquire, 441ae4ca04SPaolo Bonzini memory_order_release, 451ae4ca04SPaolo Bonzini memory_order_acq_rel, 461ae4ca04SPaolo Bonzini memory_order_seq_cst, 471ae4ca04SPaolo Bonzini } memory_order; 481ae4ca04SPaolo Bonzini #endif /* __CLANG_STDATOMIC_H */ 491ae4ca04SPaolo Bonzini 501ae4ca04SPaolo Bonzini #include "qemu/osdep.h" 51*ab810022SBernhard Beschow #include "qemu/log.h" 52*ab810022SBernhard Beschow #include "qemu/log-for-trace.h" 531ae4ca04SPaolo Bonzini #include "qemu/module.h" 541ae4ca04SPaolo Bonzini #include "qemu-io.h" 551ae4ca04SPaolo Bonzini #include "system/system.h" 561ae4ca04SPaolo Bonzini #include "hw/sysbus.h" 571ae4ca04SPaolo Bonzini #include "system/memory.h" 581ae4ca04SPaolo Bonzini #include "chardev/char-fe.h" 591ae4ca04SPaolo Bonzini #include "hw/clock.h" 601ae4ca04SPaolo Bonzini #include "hw/qdev-clock.h" 611ae4ca04SPaolo Bonzini #include "hw/qdev-properties.h" 621ae4ca04SPaolo Bonzini #include "hw/qdev-properties-system.h" 631ae4ca04SPaolo Bonzini #include "hw/irq.h" 641ae4ca04SPaolo Bonzini #include "qapi/error.h" 651ae4ca04SPaolo Bonzini #include "qapi/error-internal.h" 661ae4ca04SPaolo Bonzini #include "migration/vmstate.h" 671ae4ca04SPaolo Bonzini #include "chardev/char-serial.h" 681ae4ca04SPaolo Bonzini #include "exec/memattrs.h" 691ae4ca04SPaolo Bonzini #include "qemu/timer.h" 701ae4ca04SPaolo Bonzini #include "system/address-spaces.h" 711ae4ca04SPaolo Bonzini #include "hw/char/pl011.h" 72