The harder cases are those where the device code depends somehow on
the architecture. Some thoughts follow.

vl.c: a lot of work. Maybe the CPUState stuff should be separated to a new file.

dma.c: DMA_schedule needs access to CPUState.

Most users of CPUState (e.g. qemu-timer.c and hw/dma.c) either need it as an opaque pointer, or only need access to target-independent stuff. So you could:

1) make CPUState define only common fields. Include CPUState at the beginning of each per-target CPUXYZState.

2) Do s/CPUState/CPUXYZState/ on target-*/*.

3) Make it compile, possibly by undoing parts of 2) and changing parts of it to DO_UPCAST.

Paolo


Reply via email to