[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 20/35] Makefile.target: Introduce arch-obj
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH v3 20/35] Makefile.target: Introduce arch-obj |
Date: |
Sat, 18 Jul 2015 14:29:46 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0.1 |
On 18/07/2015 11:40, Peter Crosthwaite wrote:
> target-foo is converted to arch-obj. But some CPUs may still need to
> export APIs to device land (hw/). An example of this is the ARM
> co-processor register interface. Such fns can be split off to new C
> files in target-foo/hw dir where they remain obj-y for global
> visibility. This creates a clearer separation of which
> functions are system global and which are private to the CPU.
You have:
+arch-obj-y += target-$(TARGET_BASE_ARCH)/
+obj-y += $(foreach a, $(ARCH_DIRS), target-$(a)/hw/)
Is the hw/ required? Or could it be simply
arch-obj-y += target-$(TARGET_BASE_ARCH)/
obj-y += $(foreach a, $(ARCH_DIRS), target-$(a)/)
The Makefile machinery will ignore arch-obj-y definition outside
target-multi. If I'm not mistaken, this is exactly the case that is
described with ASCII art in rules.mak.
On one hand the separation is cool to have; on the other hand it seems a
bit artificial when we have arch-obj-y and obj-y in the same directory
everywhere else (e.g. at top level). I'm also not sure I like the hw/
prefix because target-arm/hw/ is also used by files in target-arm/.
Paolo
- [Qemu-devel] [PATCH v3 14/35] cpu-common: Define tb_page_addr_t for everyone, (continued)
- [Qemu-devel] [PATCH v3 14/35] cpu-common: Define tb_page_addr_t for everyone, Peter Crosthwaite, 2015/07/18
- [Qemu-devel] [PATCH v3 15/35] include/exec: Split target_long def to new header, Peter Crosthwaite, 2015/07/18
- [Qemu-devel] [PATCH v3 17/35] monitor: uninclude cpu_ldst, Peter Crosthwaite, 2015/07/18
- [Qemu-devel] [PATCH v3 16/35] cpu-defs: Allow multiple inclusions, Peter Crosthwaite, 2015/07/18
- [Qemu-devel] [PATCH v3 19/35] target-*: cpu.h: Undefine core code symbols, Peter Crosthwaite, 2015/07/18
- [Qemu-devel] [PATCH v3 18/35] target-*: Don't redefine cpu_exec(), Peter Crosthwaite, 2015/07/18
- [Qemu-devel] [PATCH v3 20/35] Makefile.target: Introduce arch-obj, Peter Crosthwaite, 2015/07/18
- [Qemu-devel] [PATCH v3 22/35] core: Introduce multi-arch build, Peter Crosthwaite, 2015/07/18
- [Qemu-devel] [PATCH v3 21/35] core: virtualise CPU interfaces completely, Peter Crosthwaite, 2015/07/18
- [Qemu-devel] [PATCH v3 23/35] arm: cpu: static inline cpu_arm_init(), Peter Crosthwaite, 2015/07/18
- [Qemu-devel] [PATCH v3 25/35] arm: register cpu_list() function, Peter Crosthwaite, 2015/07/18
- [Qemu-devel] [PATCH v3 24/35] target-arm: Split cp helper API to new C file, Peter Crosthwaite, 2015/07/18
- [Qemu-devel] [PATCH v3 27/35] hw: arm: Explicitly include cpu.h for consumers, Peter Crosthwaite, 2015/07/18
- [Qemu-devel] [PATCH v3 26/35] arm: enable multi-arch, Peter Crosthwaite, 2015/07/18
- [Qemu-devel] [PATCH v3 28/35] arm: Remove ELF_MACHINE from cpu.h, Peter Crosthwaite, 2015/07/18