* [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).