qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v5 10/12] hw/mips: malta: Add KVM support


From: Aurelien Jarno
Subject: Re: [Qemu-devel] [PATCH v5 10/12] hw/mips: malta: Add KVM support
Date: Fri, 20 Jun 2014 13:20:21 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

On Fri, Jun 20, 2014 at 10:25:24AM +0100, James Hogan wrote:
> On 19/06/14 22:47, Aurelien Jarno wrote:
> > On Thu, Jun 19, 2014 at 12:34:24PM -0700, Sanjay Lal wrote:
> >>
> >> On Jun 19, 2014, at 9:27 AM, Aurelien Jarno <address@hidden> wrote:
> >>
> >>> On Tue, Jun 17, 2014 at 11:10:35PM +0100, James Hogan wrote:
> >>>> In KVM mode the bootrom is loaded and executed from the last 1MB of
> >>>> DRAM.
> >>>
> >>> What is the reason for that? I am not opposed to that, but if it is
> >>> really needed, it means that loading a bootloader into the flash area
> >>> (for example YAMON) won't work and that this should be forbidden to the
> >>> user.
> >>>
> >>
> >> In trap and emulate mode, both the kernel and userland run in user mode on 
> >> the processor. Virtual addresses >= 0x80000000 are only accessible in 
> >> kernel mode, and the default flash area (VA: 0xbfc00000/PA: 0x1fc00000) 
> >> falls in this range.
> >>
> >> We therefore decided to relocate the bootloader to the last 1MB of RAM.  
> >> This area is excluded from the RAM ranges supplied to the kernel, so it 
> >> should not be accessible to the user.
> >>
> > 
> > Thanks for the explanation. It means we should disable the support for
> > booting from the flash (using -pflash) in KVM mode, as it would simply
> > not work.
> > 
> 
> Hi Aurelien,
> 
> Is this fixup to the malta patch the sort of thing you had in mind? If
> so I'll generate a v6 patchset with it.
> 
> Cheers
> James
> 
> diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c
> index 8bc5392b4223..91b0ce566111 100644
> --- a/hw/mips/mips_malta.c
> +++ b/hw/mips/mips_malta.c
> @@ -1052,6 +1052,12 @@ void mips_malta_init(MachineState *machine)
>                               bootloader_run_addr, kernel_entry);
>          }
>      } else {
> +        /* The flash region isn't executable from a KVM T&E guest */
> +        if (kvm_enabled()) {
> +            error_report("KVM enabled but no -kernel argument was specified. 
> "
> +                         "Booting from flash is not supported with KVM 
> T&E.");
> +            exit(1);
> +        }
>          /* Load firmware from flash. */
>          if (!dinfo) {
>              /* Load a BIOS image. */
> 

This looks fine to me.

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
address@hidden                 http://www.aurel32.net



reply via email to

[Prev in Thread] Current Thread [Next in Thread]