Message ID | 1378981073-9989-1-git-send-email-peter.maydell@linaro.org |
---|---|
State | Superseded |
Headers | show |
On Thu, Sep 12, 2013 at 11:17:50AM +0100, Peter Maydell wrote: > This patch series adds a 'virt' platform which uses the > kernel's mach-virt (fully device-tree driven) support > to create a simple minimalist platform intended for > use for KVM VM guests. looks good to me. fwiw Reviewed-by: Chritoffer Dall <christoffer.dall@linaro.org> > > The major change here is that I've added a PL011 UART. > > Sample command line: > > qemu-system-arm -machine type=virt -display none \ > -kernel zImage \ > -append 'root=/dev/vda rw console=ttyAMA0 rootwait' > -cpu cortex-a15 \ > -device virtio-blk-device,drive=foo \ > -drive if=none,file=arm-wheezy.img,id=foo \ > -m 2048 -serial stdio > > Note that there is no earlyprintk via the PL011 because > there's no defined device tree binding for "hey, here > is your earlyprintk UART". > > > *** NOTE *** to get the PL011 to work you'll need to > tweak the kernel a bit: > > diff --git a/arch/arm/mach-virt/virt.c b/arch/arm/mach-virt/virt.c > index b184e57..2b6aceb 100644 > --- a/arch/arm/mach-virt/virt.c > +++ b/arch/arm/mach-virt/virt.c > @@ -21,11 +21,13 @@ > #include <linux/of_irq.h> > #include <linux/of_platform.h> > #include <linux/smp.h> > +#include <linux/clk-provider.h> > > #include <asm/mach/arch.h> > > static void __init virt_init(void) > { > + of_clk_init(NULL); > of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); > } > > > Otherwise the kernel doesn't ever add the clock to its > list, and then it refuses to probe for the PL011. > (I'm told this isn't really the right fix, though, and > ideally the call should be done in some generic location > rather than in every machine's init function.) > > The alternative would be for the kernel to be fixed to > follow its own device tree binding documentation and not > require clocks/clock-names properties on the pl011 node. Is anyone taking a look at a proper fix as far as you know? -Christoffer
On 12 September 2013 11:17, Peter Maydell <peter.maydell@linaro.org> wrote: > This patch series adds a 'virt' platform which uses the > kernel's mach-virt (fully device-tree driven) support > to create a simple minimalist platform intended for > use for KVM VM guests. > > The major change here is that I've added a PL011 UART. > > Sample command line: > > qemu-system-arm -machine type=virt -display none \ > -kernel zImage \ > -append 'root=/dev/vda rw console=ttyAMA0 rootwait' > -cpu cortex-a15 \ > -device virtio-blk-device,drive=foo \ > -drive if=none,file=arm-wheezy.img,id=foo \ > -m 2048 -serial stdio > > Note that there is no earlyprintk via the PL011 because > there's no defined device tree binding for "hey, here > is your earlyprintk UART". Last call: anybody got any comments on mach-virt? Otherwise I'm planning to put it into a pull request and it'll go into qemu 1.7 as an "experimental" status platform. -- PMM
diff --git a/arch/arm/mach-virt/virt.c b/arch/arm/mach-virt/virt.c index b184e57..2b6aceb 100644 --- a/arch/arm/mach-virt/virt.c +++ b/arch/arm/mach-virt/virt.c @@ -21,11 +21,13 @@ #include <linux/of_irq.h> #include <linux/of_platform.h> #include <linux/smp.h> +#include <linux/clk-provider.h> #include <asm/mach/arch.h> static void __init virt_init(void) { + of_clk_init(NULL); of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); }