[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 21/22] monitor: Restrict pic/irq_info to supp
From: |
Blue Swirl |
Subject: |
Re: [Qemu-devel] [PATCH v2 21/22] monitor: Restrict pic/irq_info to supporting targets |
Date: |
Fri, 30 Sep 2011 20:32:18 +0000 |
On Fri, Sep 30, 2011 at 6:50 AM, Jan Kiszka <address@hidden> wrote:
> From: Jan Kiszka <address@hidden>
>
> Signed-off-by: Jan Kiszka <address@hidden>
Acked-by: Blue Swirl <address@hidden>
> ---
>
> Changes in v2:
> - keep slavio_intctl local, introduce sun4m_pic/irq_info instead
>
> hw/an5206.c | 10 ----------
> hw/arm_pic.c | 11 -----------
> hw/cris_pic_cpu.c | 6 ------
> hw/etraxfs.h | 1 +
> hw/lm32_pic.c | 4 ++--
> hw/lm32_pic.h | 3 +++
> hw/microblaze_pic_cpu.c | 6 ------
> hw/s390-virtio.c | 11 -----------
> hw/shix.c | 11 -----------
> hw/sun4m.c | 4 ++--
> hw/sun4m.h | 4 ++++
> hw/sun4u.c | 8 --------
> hw/xtensa_pic.c | 10 ----------
> monitor.c | 21 +++++++++++++++++++++
> 14 files changed, 33 insertions(+), 77 deletions(-)
>
> diff --git a/hw/an5206.c b/hw/an5206.c
> index 481ae60..3fe1f00 100644
> --- a/hw/an5206.c
> +++ b/hw/an5206.c
> @@ -7,7 +7,6 @@
> */
>
> #include "hw.h"
> -#include "pc.h"
> #include "mcf.h"
> #include "boards.h"
> #include "loader.h"
> @@ -18,15 +17,6 @@
> #define AN5206_MBAR_ADDR 0x10000000
> #define AN5206_RAMBAR_ADDR 0x20000000
>
> -/* Stub functions for hardware that doesn't exist. */
> -void pic_info(Monitor *mon)
> -{
> -}
> -
> -void irq_info(Monitor *mon)
> -{
> -}
> -
> /* Board init. */
>
> static void an5206_init(ram_addr_t ram_size,
> diff --git a/hw/arm_pic.c b/hw/arm_pic.c
> index 985148a..4e63845 100644
> --- a/hw/arm_pic.c
> +++ b/hw/arm_pic.c
> @@ -8,19 +8,8 @@
> */
>
> #include "hw.h"
> -#include "pc.h"
> #include "arm-misc.h"
>
> -/* Stub functions for hardware that doesn't exist. */
> -void pic_info(Monitor *mon)
> -{
> -}
> -
> -void irq_info(Monitor *mon)
> -{
> -}
> -
> -
> /* Input 0 is IRQ and input 1 is FIQ. */
> static void arm_pic_cpu_handler(void *opaque, int irq, int level)
> {
> diff --git a/hw/cris_pic_cpu.c b/hw/cris_pic_cpu.c
> index 7f1e4ab..06ae484 100644
> --- a/hw/cris_pic_cpu.c
> +++ b/hw/cris_pic_cpu.c
> @@ -24,16 +24,10 @@
>
> #include "sysbus.h"
> #include "hw.h"
> -#include "pc.h"
> #include "etraxfs.h"
>
> #define D(x)
>
> -void pic_info(Monitor *mon)
> -{}
> -void irq_info(Monitor *mon)
> -{}
> -
> static void cris_pic_cpu_handler(void *opaque, int irq, int level)
> {
> CPUState *env = (CPUState *)opaque;
> diff --git a/hw/etraxfs.h b/hw/etraxfs.h
> index 1554b0b..24e8fd8 100644
> --- a/hw/etraxfs.h
> +++ b/hw/etraxfs.h
> @@ -22,6 +22,7 @@
> * THE SOFTWARE.
> */
>
> +#include "net.h"
> #include "etraxfs_dma.h"
>
> qemu_irq *cris_pic_init_cpu(CPUState *env);
> diff --git a/hw/lm32_pic.c b/hw/lm32_pic.c
> index 02941a7..8dd0050 100644
> --- a/hw/lm32_pic.c
> +++ b/hw/lm32_pic.c
> @@ -39,7 +39,7 @@ struct LM32PicState {
> typedef struct LM32PicState LM32PicState;
>
> static LM32PicState *pic;
> -void pic_info(Monitor *mon)
> +void lm32_do_pic_info(Monitor *mon)
> {
> if (pic == NULL) {
> return;
> @@ -49,7 +49,7 @@ void pic_info(Monitor *mon)
> pic->im, pic->ip, pic->irq_state);
> }
>
> -void irq_info(Monitor *mon)
> +void lm32_irq_info(Monitor *mon)
> {
> int i;
> uint32_t count;
> diff --git a/hw/lm32_pic.h b/hw/lm32_pic.h
> index e6479b8..14456f3 100644
> --- a/hw/lm32_pic.h
> +++ b/hw/lm32_pic.h
> @@ -8,4 +8,7 @@ uint32_t lm32_pic_get_im(DeviceState *d);
> void lm32_pic_set_ip(DeviceState *d, uint32_t ip);
> void lm32_pic_set_im(DeviceState *d, uint32_t im);
>
> +void lm32_do_pic_info(Monitor *mon);
> +void lm32_irq_info(Monitor *mon);
> +
> #endif /* QEMU_HW_LM32_PIC_H */
> diff --git a/hw/microblaze_pic_cpu.c b/hw/microblaze_pic_cpu.c
> index 9ad48b4..8b5623c 100644
> --- a/hw/microblaze_pic_cpu.c
> +++ b/hw/microblaze_pic_cpu.c
> @@ -23,16 +23,10 @@
> */
>
> #include "hw.h"
> -#include "pc.h"
> #include "microblaze_pic_cpu.h"
>
> #define D(x)
>
> -void pic_info(Monitor *mon)
> -{}
> -void irq_info(Monitor *mon)
> -{}
> -
> static void microblaze_pic_cpu_handler(void *opaque, int irq, int level)
> {
> CPUState *env = (CPUState *)opaque;
> diff --git a/hw/s390-virtio.c b/hw/s390-virtio.c
> index acbf026..778cffe 100644
> --- a/hw/s390-virtio.c
> +++ b/hw/s390-virtio.c
> @@ -62,17 +62,6 @@
> static VirtIOS390Bus *s390_bus;
> static CPUState **ipi_states;
>
> -void irq_info(Monitor *mon);
> -void pic_info(Monitor *mon);
> -
> -void irq_info(Monitor *mon)
> -{
> -}
> -
> -void pic_info(Monitor *mon)
> -{
> -}
> -
> CPUState *s390_cpu_addr2state(uint16_t cpu_addr)
> {
> if (cpu_addr >= smp_cpus) {
> diff --git a/hw/shix.c b/hw/shix.c
> index 638bf16..dbf4764 100644
> --- a/hw/shix.c
> +++ b/hw/shix.c
> @@ -28,7 +28,6 @@
> More information in target-sh4/README.sh4
> */
> #include "hw.h"
> -#include "pc.h"
> #include "sh.h"
> #include "sysemu.h"
> #include "boards.h"
> @@ -37,16 +36,6 @@
> #define BIOS_FILENAME "shix_bios.bin"
> #define BIOS_ADDRESS 0xA0000000
>
> -void irq_info(Monitor *mon)
> -{
> - /* XXXXX */
> -}
> -
> -void pic_info(Monitor *mon)
> -{
> - /* XXXXX */
> -}
> -
> static void shix_init(ram_addr_t ram_size,
> const char *boot_device,
> const char *kernel_filename, const char *kernel_cmdline,
> diff --git a/hw/sun4m.c b/hw/sun4m.c
> index dcaed38..71bf648 100644
> --- a/hw/sun4m.c
> +++ b/hw/sun4m.c
> @@ -216,13 +216,13 @@ static void nvram_init(M48t59State *nvram, uint8_t
> *macaddr,
>
> static DeviceState *slavio_intctl;
>
> -void pic_info(Monitor *mon)
> +void sun4m_pic_info(Monitor *mon)
> {
> if (slavio_intctl)
> slavio_pic_info(mon, slavio_intctl);
> }
>
> -void irq_info(Monitor *mon)
> +void sun4m_irq_info(Monitor *mon)
> {
> if (slavio_intctl)
> slavio_irq_info(mon, slavio_intctl);
> diff --git a/hw/sun4m.h b/hw/sun4m.h
> index ce97ee5..504c3af 100644
> --- a/hw/sun4m.h
> +++ b/hw/sun4m.h
> @@ -30,6 +30,10 @@ void slavio_irq_info(Monitor *mon, DeviceState *dev);
> void sun4c_pic_info(Monitor *mon, void *opaque);
> void sun4c_irq_info(Monitor *mon, void *opaque);
>
> +/* sun4m.c */
> +void sun4m_pic_info(Monitor *mon);
> +void sun4m_irq_info(Monitor *mon);
> +
> /* sparc32_dma.c */
> #include "sparc32_dma.h"
>
> diff --git a/hw/sun4u.c b/hw/sun4u.c
> index fbef350..568819d 100644
> --- a/hw/sun4u.c
> +++ b/hw/sun4u.c
> @@ -242,14 +242,6 @@ static unsigned long sun4u_load_kernel(const char
> *kernel_filename,
> return kernel_size;
> }
>
> -void pic_info(Monitor *mon)
> -{
> -}
> -
> -void irq_info(Monitor *mon)
> -{
> -}
> -
> void cpu_check_irqs(CPUState *env)
> {
> uint32_t pil = env->pil_in |
> diff --git a/hw/xtensa_pic.c b/hw/xtensa_pic.c
> index 3033ae2..9357684 100644
> --- a/hw/xtensa_pic.c
> +++ b/hw/xtensa_pic.c
> @@ -26,19 +26,9 @@
> */
>
> #include "hw.h"
> -#include "pc.h"
> #include "qemu-log.h"
> #include "qemu-timer.h"
>
> -/* Stub functions for hardware that doesn't exist. */
> -void pic_info(Monitor *mon)
> -{
> -}
> -
> -void irq_info(Monitor *mon)
> -{
> -}
> -
> void xtensa_advance_ccount(CPUState *env, uint32_t d)
> {
> uint32_t old_ccount = env->sregs[CCOUNT];
> diff --git a/monitor.c b/monitor.c
> index 8ec2c5e..04a3912 100644
> --- a/monitor.c
> +++ b/monitor.c
> @@ -64,6 +64,12 @@
> #include "trace/control.h"
> #include "ui/qemu-spice.h"
>
> +/* for pic/irq_info */
> +#if defined(TARGET_SPARC)
> +#include "hw/sun4m.h"
> +#endif
> +#include "hw/lm32_pic.h"
> +
> //#define DEBUG
> //#define DEBUG_COMPLETION
>
> @@ -2937,20 +2943,35 @@ static const mon_cmd_t info_cmds[] = {
> .help = "show the command line history",
> .mhandler.info = do_info_history,
> },
> +#if defined(TARGET_I386) || defined(TARGET_PPC) || defined(TARGET_MIPS) || \
> + defined(TARGET_LM32) || (defined(TARGET_SPARC) &&
> !defined(TARGET_SPARC64))
> {
> .name = "irq",
> .args_type = "",
> .params = "",
> .help = "show the interrupts statistics (if available)",
> +#ifdef TARGET_SPARC
> + .mhandler.info = sun4m_irq_info,
> +#elif defined(TARGET_LM32)
> + .mhandler.info = lm32_irq_info,
> +#else
> .mhandler.info = irq_info,
> +#endif
> },
> {
> .name = "pic",
> .args_type = "",
> .params = "",
> .help = "show i8259 (PIC) state",
> +#ifdef TARGET_SPARC
> + .mhandler.info = sun4m_pic_info,
> +#elif defined(TARGET_LM32)
> + .mhandler.info = lm32_do_pic_info,
> +#else
> .mhandler.info = pic_info,
> +#endif
> },
> +#endif
> {
> .name = "pci",
> .args_type = "",
> --
> 1.7.3.4
>
- [Qemu-devel] [PATCH 08/22] i8239: Introduce per-PIC output interrupt, (continued)
- [Qemu-devel] [PATCH 08/22] i8239: Introduce per-PIC output interrupt, Jan Kiszka, 2011/09/28
- [Qemu-devel] [PATCH 19/22] i8259: Convert to qdev, Jan Kiszka, 2011/09/28
- [Qemu-devel] [PATCH 03/22] pc: Convert GSIState::i8259_irq into array, Jan Kiszka, 2011/09/28
- [Qemu-devel] [PATCH 14/22] i8259: Clean up pic_ioport_read, Jan Kiszka, 2011/09/28
- [Qemu-devel] [PATCH 01/22] pc: Drop useless test from isa_irq_handler, Jan Kiszka, 2011/09/28
- [Qemu-devel] [PATCH 21/22] monitor: Restrict pic/irq_info to supporting targets, Jan Kiszka, 2011/09/28
[Qemu-devel] [PATCH 17/22] i8259: Eliminate PicState2, Jan Kiszka, 2011/09/28
[Qemu-devel] [PATCH 11/22] i8259: Update IRQ state after reset, Jan Kiszka, 2011/09/28
Re: [Qemu-devel] [PATCH 11/22] i8259: Update IRQ state after reset, Jan Kiszka, 2011/09/28