Move x86 specific PC declarations to a separate file
x86 definitions (especially CPUState uses) prevent many files from being compiled within libhw. Move x86 specific declarations (APIC stuff) to a separate file. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
parent
aaf12c2531
commit
aa28b9bf9b
@ -18,6 +18,7 @@
|
||||
*/
|
||||
#include "hw.h"
|
||||
#include "pc.h"
|
||||
#include "apic.h"
|
||||
#include "pci.h"
|
||||
#include "msix.h"
|
||||
#include "qemu-timer.h"
|
||||
|
20
hw/apic.h
Normal file
20
hw/apic.h
Normal file
@ -0,0 +1,20 @@
|
||||
#ifndef APIC_H
|
||||
#define APIC_H
|
||||
|
||||
typedef struct IOAPICState IOAPICState;
|
||||
void apic_deliver_irq(uint8_t dest, uint8_t dest_mode,
|
||||
uint8_t delivery_mode,
|
||||
uint8_t vector_num, uint8_t polarity,
|
||||
uint8_t trigger_mode);
|
||||
int apic_init(CPUState *env);
|
||||
int apic_accept_pic_intr(CPUState *env);
|
||||
void apic_deliver_pic_intr(CPUState *env, int level);
|
||||
int apic_get_interrupt(CPUState *env);
|
||||
qemu_irq *ioapic_init(void);
|
||||
void ioapic_set_irq(void *opaque, int vector, int level);
|
||||
void apic_reset_irq_delivered(void);
|
||||
int apic_get_irq_delivered(void);
|
||||
|
||||
int cpu_is_bsp(CPUState *env);
|
||||
|
||||
#endif
|
@ -22,6 +22,7 @@
|
||||
|
||||
#include "hw.h"
|
||||
#include "pc.h"
|
||||
#include "apic.h"
|
||||
#include "qemu-timer.h"
|
||||
#include "host-utils.h"
|
||||
|
||||
|
@ -25,6 +25,7 @@
|
||||
#include "qemu-timer.h"
|
||||
#include "sysemu.h"
|
||||
#include "pc.h"
|
||||
#include "apic.h"
|
||||
#include "isa.h"
|
||||
#include "hpet_emul.h"
|
||||
|
||||
|
1
hw/pc.c
1
hw/pc.c
@ -23,6 +23,7 @@
|
||||
*/
|
||||
#include "hw.h"
|
||||
#include "pc.h"
|
||||
#include "apic.h"
|
||||
#include "fdc.h"
|
||||
#include "pci.h"
|
||||
#include "vmware_vga.h"
|
||||
|
17
hw/pc.h
17
hw/pc.h
@ -35,21 +35,6 @@ uint32_t pic_intack_read(PicState2 *s);
|
||||
void pic_info(Monitor *mon);
|
||||
void irq_info(Monitor *mon);
|
||||
|
||||
/* APIC */
|
||||
typedef struct IOAPICState IOAPICState;
|
||||
void apic_deliver_irq(uint8_t dest, uint8_t dest_mode,
|
||||
uint8_t delivery_mode,
|
||||
uint8_t vector_num, uint8_t polarity,
|
||||
uint8_t trigger_mode);
|
||||
int apic_init(CPUState *env);
|
||||
int apic_accept_pic_intr(CPUState *env);
|
||||
void apic_deliver_pic_intr(CPUState *env, int level);
|
||||
int apic_get_interrupt(CPUState *env);
|
||||
qemu_irq *ioapic_init(void);
|
||||
void ioapic_set_irq(void *opaque, int vector, int level);
|
||||
void apic_reset_irq_delivered(void);
|
||||
int apic_get_irq_delivered(void);
|
||||
|
||||
/* i8254.c */
|
||||
|
||||
#define PIT_FREQ 1193182
|
||||
@ -150,8 +135,6 @@ void isa_cirrus_vga_init(void);
|
||||
|
||||
void isa_ne2000_init(int base, int irq, NICInfo *nd);
|
||||
|
||||
int cpu_is_bsp(CPUState *env);
|
||||
|
||||
/* e820 types */
|
||||
#define E820_RAM 1
|
||||
#define E820_RESERVED 2
|
||||
|
Loading…
Reference in New Issue
Block a user