Hi,

At the moment, ESP SCSI adapter can only be used inside sun4m machines.
Attached patch moves the declaration outside sun4m.h, so other machines can also use it. I've moved the declaration to devices.h because I found no better place to put it. If you know a better place, please tell me :)

Hervé
Index: Makefile.target
===================================================================
RCS file: /sources/qemu/qemu/Makefile.target,v
retrieving revision 1.245
diff -u -r1.245 Makefile.target
--- Makefile.target     10 Feb 2008 16:33:12 -0000      1.245
+++ Makefile.target     24 Feb 2008 20:43:50 -0000
@@ -511,7 +511,7 @@
 endif
 
 # SCSI layer
-OBJS+= lsi53c895a.o
+OBJS+= lsi53c895a.o esp.o
 
 # USB layer
 OBJS+= usb-ohci.o
@@ -573,7 +573,7 @@
 OBJS+= cirrus_vga.o parallel.o ptimer.o
 else
 OBJS+= sun4m.o tcx.o pcnet.o iommu.o m48t59.o slavio_intctl.o
-OBJS+= slavio_timer.o slavio_serial.o slavio_misc.o fdc.o esp.o sparc32_dma.o
+OBJS+= slavio_timer.o slavio_serial.o slavio_misc.o fdc.o sparc32_dma.o
 OBJS+= cs4231.o ptimer.o eccmemctl.o sbi.o sun4c_intctl.o
 endif
 endif
Index: hw/devices.h
===================================================================
RCS file: /sources/qemu/qemu/hw/devices.h,v
retrieving revision 1.2
diff -u -r1.2 devices.h
--- hw/devices.h        18 Nov 2007 14:36:08 -0000      1.2
+++ hw/devices.h        24 Feb 2008 20:57:22 -0000
@@ -16,6 +16,16 @@
 void ads7846_write(void *opaque, uint32_t value);
 struct ads7846_state_s *ads7846_init(qemu_irq penirq);
 
+/* esp.c */
+#ifdef CPU_DEFS_H
+#define ESP_MAX_DEVS 7
+void esp_scsi_attach(void *opaque, BlockDriverState *bd, int id);
+void *esp_init(target_phys_addr_t espaddr,
+               void *dma_opaque, qemu_irq irq, qemu_irq *reset);
+void espdma_memory_read(void *opaque, uint8_t *buf, int len);
+void espdma_memory_write(void *opaque, uint8_t *buf, int len);
+#endif
+
 /* stellaris_input.c */
 void stellaris_gamepad_init(int n, qemu_irq *irq, const int *keycode);
 
Index: hw/esp.c
===================================================================
RCS file: /sources/qemu/qemu/hw/esp.c,v
retrieving revision 1.33
diff -u -r1.33 esp.c
--- hw/esp.c    1 Jan 2008 17:06:38 -0000       1.33
+++ hw/esp.c    24 Feb 2008 20:50:30 -0000
@@ -24,9 +24,7 @@
 #include "hw.h"
 #include "block.h"
 #include "scsi-disk.h"
-#include "sun4m.h"
-/* FIXME: Only needed for MAX_DISKS, which is probably wrong.  */
-#include "sysemu.h"
+#include "devices.h"
 
 /* debug ESP card */
 //#define DEBUG_ESP
Index: hw/sun4m.c
===================================================================
RCS file: /sources/qemu/qemu/hw/sun4m.c,v
retrieving revision 1.84
diff -u -r1.84 sun4m.c
--- hw/sun4m.c  11 Feb 2008 20:01:36 -0000      1.84
+++ hw/sun4m.c  24 Feb 2008 20:46:24 -0000
@@ -31,6 +31,7 @@
 #include "net.h"
 #include "boards.h"
 #include "firmware_abi.h"
+#include "devices.h"
 
 //#define DEBUG_IRQ
 
Index: hw/sun4m.h
===================================================================
RCS file: /sources/qemu/qemu/hw/sun4m.h,v
retrieving revision 1.10
diff -u -r1.10 sun4m.h
--- hw/sun4m.h  27 Jan 2008 09:49:28 -0000      1.10
+++ hw/sun4m.h  24 Feb 2008 20:45:42 -0000
@@ -59,12 +59,6 @@
                        CPUState *env);
 void slavio_set_power_fail(void *opaque, int power_failing);
 
-/* esp.c */
-#define ESP_MAX_DEVS 7
-void esp_scsi_attach(void *opaque, BlockDriverState *bd, int id);
-void *esp_init(target_phys_addr_t espaddr,
-               void *dma_opaque, qemu_irq irq, qemu_irq *reset);
-
 /* cs4231.c */
 void cs_init(target_phys_addr_t base, int irq, void *intctl);
 

Reply via email to