Thanks Alex, I will check it out.
Have you look at below issue which I mention in my previous email?


>>> *>> qemu-system-arm: Unknown device 'soc' for default sysbusAborted
>>> (core>> dumped)**
>>>
>>

On Thu, 19 Mar 2020 at 20:09, Alex Bennée <alex.ben...@linaro.org> wrote:

>
> Priyamvad Acharya <priyamvad.agni...@gmail.com> writes:
>
> > Thanks John and Peter for guiding me, but still it will be hard to
> > understand from source code for a newbie.
> >
> > I basically want to implement a trivial device for arm architecture which
> > basically contains register for read/write operation with a program.So
> what
> > are the references?
>
> I would look at hw/misc/unimp.c as a useful template for implementing a
> new device. Many boards instantiate the unimp devices for areas of SoC's
> that are not yet implemented ;-)
>
> >
> > I am providing pointers about my device which I am trying to implement:
> >  - I am implementing a device which will be attached to *versatilepb*
> > board, that board has* ARM926 CPU*.
> > - My device name is "*soc*" , whose description is in
> *qemu/hw/misc/soc.c*
> > file attached below.
> > - I have written below line to make my device available to qemu in
> > *qemu/hw/misc/Makefile.objs*.
> >
> >> *$ common-obj-$(CONFIG_SOC) += soc.o *
> >>
> > - I added following lines in *qemu/hw/arm/versatilepb.c* to attach my
> > device to board.
> >
> >>
> >> *#define DES_BASEADDR        0x101f5000*
> >>
> >>
> >>
> >> *    soc=qdev_create(NULL, "soc");// +    qdev_init_nofail(soc);// +
> >> sysbus_mmio_map(SYS_BUS_DEVICE(soc), 0, DES_BASEADDR);// +*
> >>
> >
> > - Run below commands to build my device
> >
> >> *$ make distclean*
> >> *$ make -j8 -C build *
> >>
> >
> > - Run below command to run a bare metal program on device.
> >
> >> *$ ./qemu-system-arm -M versatilepb -nographic -kernel
> >> /lhome/priyamvad/debian_qemu_arm32/c_application/DES/des_demo.elf*
> >>
> >
> > -I get following output in terminal shown below
> >
> >>
> >>
> >> *[priyamvad@predator arm-softmmu]$ ./qemu-system-arm -M versatilepb
> >> -nographic -kernel
> >> /lhome/priyamvad/debian_qemu_arm32/c_application/DES/des_demo.elf
> >> qemu-system-arm: Unknown device 'soc' for default sysbusAborted (core
> >> dumped)*
> >>
> >
> > -Here des_demo.elf is our *bare metal program* executable for
> *arm(926ej-s)*
> > processor.
> >
> > So how to resolve below issue to run executable
> >
> >>
> >>
> >> *[priyamvad@predator arm-softmmu]$ ./qemu-system-arm -M versatilepb
> >> -nographic -kernel
> >> /lhome/priyamvad/debian_qemu_arm32/c_application/DES/des_demo.elf
> >> qemu-system-arm: Unknown device 'soc' for default sysbusAborted (core
> >> dumped)*
> >>
> >
> > test.s,test.ld,startup.S,Makefile,des_demo.c are files required for bare
> >> metal program
> >>
> >
> > References:
> >
> >
> https://devkail.wordpress.com/2014/12/16/emulation-of-des-encryption-device-in-qemu/
> >
> > Thanks,
> > Priyamvad
> >
> > On Thu, 19 Mar 2020 at 01:19, John Snow <js...@redhat.com> wrote:
> >
> >>
> >>
> >> On 3/18/20 7:09 AM, Peter Maydell wrote:
> >> > On Wed, 18 Mar 2020 at 09:55, Priyamvad Acharya
> >> > <priyamvad.agni...@gmail.com> wrote:
> >> >>
> >> >> Hello developer community,
> >> >>
> >> >> I am working on implementing a custom device in Qemu, so to implement
> >> it I need documentation of functions which are used to emulate a
> hardware
> >> model in Qemu.
> >> >>
> >> >> What are the references to get it ?
> >> >
> >> > QEMU has very little documentation of its internals;
> >> > the usual practice is to figure things out by
> >> > reading the source code. What we do have is in
> >> > docs/devel. There are also often documentation comments
> >> > for specific functions in the include files where
> >> > those functions are declared, which form the API
> >> > documentation for them.
> >> >
> >>
> >> ^ Unfortunately true. One thing you can do is try to pick an existing
> >> device that's close to yours -- some donor PCI, USB etc device and start
> >> using that as a reference.
> >>
> >> If you can share (broad) details of what device you are trying to
> >> implement, we might be able to point you to relevant examples to use as
> >> a reference.
> >>
> >> --js
> >>
> >>
>
>
> --
> Alex Bennée
>

Reply via email to