qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] Beaglebone Black emulation
@ 2015-05-03 11:17 manish tiwari
  2015-05-03 16:45 ` Peter Maydell
  0 siblings, 1 reply; 3+ messages in thread
From: manish tiwari @ 2015-05-03 11:17 UTC (permalink / raw)
  To: qemu-devel

Hello Everyone,

I am new to QEMU.

I want to learn and contribute to qemu.
In that process I am trying to emulate Beaglebone Black SoC.
I am taking the reference of kzm SoC but I need to know what are the
bare minimal devices need to be emulated for Beaglebone Black ?

As I understand these are the following devices needs to be emulated
1. CPU model (Cortex-A8)
2.  RAM
3. UART

What other least number of devices needs to be emulated to for this
machine model to work well ?

Thanks,
Manish

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] Beaglebone Black emulation
  2015-05-03 11:17 [Qemu-devel] Beaglebone Black emulation manish tiwari
@ 2015-05-03 16:45 ` Peter Maydell
  2015-05-03 22:11   ` Peter Maydell
  0 siblings, 1 reply; 3+ messages in thread
From: Peter Maydell @ 2015-05-03 16:45 UTC (permalink / raw)
  To: manish tiwari; +Cc: QEMU Developers

On 3 May 2015 at 12:17, manish tiwari <tiwari.manish.0998@gmail.com> wrote:
> I want to learn and contribute to qemu.
> In that process I am trying to emulate Beaglebone Black SoC.
> I am taking the reference of kzm SoC but I need to know what are the
> bare minimal devices need to be emulated for Beaglebone Black ?
>
> As I understand these are the following devices needs to be emulated
> 1. CPU model (Cortex-A8)
> 2.  RAM
> 3. UART
>
> What other least number of devices needs to be emulated to for this
> machine model to work well ?

The best bet here would be to take the emulation of the
beagleboard and its omap3 SoC which you can find in this
git tree:
https://git.linaro.org/?p=qemu/qemu-linaro.git
[look at the 'rebasing' branch]
and get it cleaned up and updated to current upstream
practice. This is not a trivial job (my estimate was that
it would be a couple of months work to get the complete
set sorted out and upstreamed, which is why I've never
got round to it), but it can be usefully split up into
a set of tasks with useful intermediate steps (like
"something with a minimal device or two").

The initial steps here would be:
1) rebase the patchset on to qemu master and fix up
  the breakage due to API changes in qemu
[this will be moderately painful if you haven't been
following the API changes as they happened; if you're
interested in taking on the omap3 patches then I can
do this step for you because it will be a lot faster...]
2) add support for direct boot of a guest kernel via
  "-kernel" (currently only "boot via an SD card image"
  is supported, which is awkward because the u-boot
  image insists on checking every device on the board
  and won't boot if any are missing)
3) build a cut-down minimally configured kernel that
  only needs the smallest possible set of devices
  [in particular, no SPI, I2C, MMC or graphics]
4) reorder the patchstack so that it starts with
  those relating to the required minimal device set
  and the SoC model and the board model, and the
  complicated ones to do with I2C etc are afterwards;
  check the kernel boots on this initial set
5) update the patches to correspond to current QEMU
  practice for QOM device modelling (the code in that
  tree is somewhat old and does many things in out
  of date ways)
6) submit the minimal-device patches and get them
  through code review and into QEMU
7) then start trying to clean up the remaining
  patches one device at a time

You'll need (or will learn :-)) familiarity with
handling stacks of patches in git, rebasing them,
reordering them, splitting them, and so on.

-- PMM

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] Beaglebone Black emulation
  2015-05-03 16:45 ` Peter Maydell
@ 2015-05-03 22:11   ` Peter Maydell
  0 siblings, 0 replies; 3+ messages in thread
From: Peter Maydell @ 2015-05-03 22:11 UTC (permalink / raw)
  To: manish tiwari; +Cc: QEMU Developers

On 3 May 2015 at 17:45, Peter Maydell <peter.maydell@linaro.org> wrote:
> 1) rebase the patchset on to qemu master and fix up
>   the breakage due to API changes in qemu
> [this will be moderately painful if you haven't been
> following the API changes as they happened; if you're
> interested in taking on the omap3 patches then I can
> do this step for you because it will be a lot faster...]

I went ahead and did this part.

-- PMM

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-05-03 22:11 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-03 11:17 [Qemu-devel] Beaglebone Black emulation manish tiwari
2015-05-03 16:45 ` Peter Maydell
2015-05-03 22:11   ` Peter Maydell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).