Skip to content

Commit

Permalink
Move x86 specific PC declarations to a separate file
Browse files Browse the repository at this point in the history
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 <[email protected]>
  • Loading branch information
blueswirl committed Mar 21, 2010
1 parent aaf12c2 commit aa28b9b
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 17 deletions.
1 change: 1 addition & 0 deletions hw/apic.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
*/
#include "hw.h"
#include "pc.h"
#include "apic.h"
#include "pci.h"
#include "msix.h"
#include "qemu-timer.h"
Expand Down
20 changes: 20 additions & 0 deletions hw/apic.h
Original file line number Diff line number Diff line change
@@ -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
1 change: 1 addition & 0 deletions hw/ioapic.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@

#include "hw.h"
#include "pc.h"
#include "apic.h"
#include "qemu-timer.h"
#include "host-utils.h"

Expand Down
1 change: 1 addition & 0 deletions hw/mc146818rtc.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
#include "qemu-timer.h"
#include "sysemu.h"
#include "pc.h"
#include "apic.h"
#include "isa.h"
#include "hpet_emul.h"

Expand Down
1 change: 1 addition & 0 deletions hw/pc.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
*/
#include "hw.h"
#include "pc.h"
#include "apic.h"
#include "fdc.h"
#include "pci.h"
#include "vmware_vga.h"
Expand Down
17 changes: 0 additions & 17 deletions hw/pc.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit aa28b9b

Please sign in to comment.