semihosting/console: Avoid including 'cpu.h'

The CPUState structure is declared in "hw/core/cpu.h",
the EXCP_HALTED definition in "exec/cpu-common.h".
Both headers are indirectly include by "cpu.h". In
order to remove "cpu.h" from "semihosting/console.h",
explicitly include them in console.c, otherwise we'd
get:

  ../semihosting/console.c:88:11: error: incomplete definition of type 'struct CPUState'
     88 |         cs->exception_index = EXCP_HALTED;
        |         ~~^
  ../semihosting/console.c:88:31: error: use of undeclared identifier 'EXCP_HALTED'
     88 |         cs->exception_index = EXCP_HALTED;
        |                               ^

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20250103171037.11265-5-philmd@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20250116160306.1709518-7-alex.bennee@linaro.org>
This commit is contained in:
Philippe Mathieu-Daudé 2025-01-16 16:02:35 +00:00 committed by Alex Bennée
parent 847343cfbf
commit 5779210656
2 changed files with 2 additions and 3 deletions

View file

@ -9,8 +9,6 @@
#ifndef SEMIHOST_CONSOLE_H #ifndef SEMIHOST_CONSOLE_H
#define SEMIHOST_CONSOLE_H #define SEMIHOST_CONSOLE_H
#include "cpu.h"
/** /**
* qemu_semihosting_console_read: * qemu_semihosting_console_read:
* @cs: CPUState * @cs: CPUState

View file

@ -18,14 +18,15 @@
#include "qemu/osdep.h" #include "qemu/osdep.h"
#include "semihosting/semihost.h" #include "semihosting/semihost.h"
#include "semihosting/console.h" #include "semihosting/console.h"
#include "exec/cpu-common.h"
#include "exec/gdbstub.h" #include "exec/gdbstub.h"
#include "exec/exec-all.h"
#include "qemu/log.h" #include "qemu/log.h"
#include "chardev/char.h" #include "chardev/char.h"
#include "chardev/char-fe.h" #include "chardev/char-fe.h"
#include "qemu/main-loop.h" #include "qemu/main-loop.h"
#include "qapi/error.h" #include "qapi/error.h"
#include "qemu/fifo8.h" #include "qemu/fifo8.h"
#include "hw/core/cpu.h"
/* Access to this structure is protected by the BQL */ /* Access to this structure is protected by the BQL */
typedef struct SemihostingConsole { typedef struct SemihostingConsole {