What could be the step wise approach to emulate/add a new device in qemu
using QOM approach?
What and where could be the changes with respect to DeviceState/BusState and other properties?
edu
in-tree educational PCI device
It is very easy to understand and well documented, so I recommend that you study it.
It exposes a minimal PCI device, with basic IO, interrupt generation, and DMA.
I've written a minimal Linux kernel module + userland tests to play with it at:
Out-of-tree devices
I asked if it is possible to make out-of-tree devices at: How to create out-of-tree QEMU devices? but it does not look like it.