qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 00/19] hw/ directory restructuring


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH 00/19] hw/ directory restructuring
Date: Tue, 05 Feb 2013 21:59:09 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130110 Thunderbird/17.0.2

Il 05/02/2013 15:17, Paolo Bonzini ha scritto:
>>>> We could have a "hw/socks" directory for devices which are pure
>>>> >> > containers :-)
>> > I'd surely prefer hw/socs/ over hw/socks/ ;) but my point is why would
>> > we want to mix arm and sh4 SoCs (with a clear dependency on $arch)
>> > rather than putting them into hw/$arch proper.
>> > 
>> > As Paolo points out, this is (once again) discussing the strictness of
>> > your sayings, in this case 'no devices in hw/$arch' (pseudo-quote).
> I agree that devices referring to CPUState should stay in hw/$ARCH.

FWIW, here is the list of files I have in hw/arm/Makefile.objs with a
more aggressive approach.

# CPU cores
obj-y += arm11mpcore.o a9mpcore.o
obj-y += a15mpcore.o

# All-in-one devices, perhaps should be refactored
obj-y += tc6393xb.o
obj-y += strongarm.o

# Boards
obj-y += boot.o collie.o exynos4_boards.o gumstix.o highbank.o
obj-y += integratorcp.o kzm.o mainstone.o musicpal.o nseries.o
obj-y += omap_sx1.o palm.o pic_cpu.o realview.o spitz.o stellaris.o
obj-y += tosa.o versatilepb.o vexpress.o xilinx_zynq.o z2.o

# Devices that require ARMCPU
obj-y += armv7m.o exynos4210.o pxa2xx.o pxa2xx_gpio.o pxa2xx_pic.o
obj-y += omap1.o omap2.o


Of these, the *core.c files could in principle be moved out of hw/arm
(hw/misc or a new directory) but it really looked wrong.

And this is hw/ppc/Makefile.objs:

# shared objects
obj-y += ppc.o ppc_booke.o
# IBM pSeries (sPAPR)
obj-$(CONFIG_PSERIES) += spapr.o xics.o spapr_vio.o spapr_events.o
obj-$(CONFIG_PSERIES) += spapr_hcall.o spapr_iommu.o spapr_rtas.o
# PowerPC 4xx boards
obj-y += ppc405_boards.o ppc4xx_devs.o ppc405_uc.o ppc440_bamboo.o
# PReP
obj-y += prep.o
# OldWorld PowerMac
obj-y += mac_oldworld.o
# NewWorld PowerMac
obj-y += mac_newworld.o
# e500
obj-$(CONFIG_E500) += e500.o mpc8544ds.o e500plat.o
obj-$(CONFIG_E500) += mpc8544_guts.o ppce500_spin.o
# PowerPC 440 Xilinx ML507 reference board.
obj-y += virtex_ml507.o

All other target directories are quite small.

Finally, here is the list of device directories and number of files in them:

9pfs/ 21
acpi/ 5
audio/ 28
block/ 28
bt/ 8
char/ 30
display/ 41
dma/ 12
gpio/ 7
i2c/ 12
ide/ 18
input/ 14
intc/ 29
isa/ 16
misc/ 31
net/ 30
nvram/ 7
pci/ 57
scsi/ 14
sd/ 8
ssi/ 6
timer/ 29
usb/ 38
virtio/ 9
watchdog/ 6
xen/ 16

Paolo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]