Re: [PATCH 1/3] Update BIOS INT15-E820 to allow a larger BIOS image

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

 



On Sun, Jul 26, 2009 at 05:23:51PM -0700, Jordan Justen wrote:
> The bios will now reserve more memory via the E820 functions.
> 
> Note that the standard KVM BIOS will most likely not make use of
> this expanded BIOS region.  This change will synchronize
> the BIOS INT15-E820 reservations to match other changes that
> will allow alternate BIOS images to be larger in size.
> 
> Previously the BIOS reserved:
>   0xfffbc000-0xfffbcfff -   4KB - EPT identity mapping pages
>   0xfffbd000-0xfffbffff -  12KB - TSS pages
>   0xfffc0000-0xffffffff - 256KB - Max bios.bin (usually top 128KB is used)
> 
> Now the BIOS will reserve:
>   0xfeffc000-0xfeffcfff -   4KB - EPT identity mapping pages
>   0xfeffd000-0xfeffffff -  12KB - TSS Pages
>   0xff000000-0xffffffff -  16MB - Max bios.bin
> 
> Signed-off-by: Jordan Justen <jordan.l.justen@xxxxxxxxx>
> ---
>  kvm/bios/rombios.c |    8 ++++----
>  1 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/kvm/bios/rombios.c b/kvm/bios/rombios.c
> index 6186199..2d0c153 100644
> --- a/kvm/bios/rombios.c
> +++ b/kvm/bios/rombios.c
> @@ -4596,14 +4596,14 @@ ASM_END
>                      case 5:
>                          /* 4 pages before the bios, 3 pages for vmx tss pages,
>  			 * the other page for EPT real mode pagetable */
> -                        set_e820_range(ES, regs.u.r16.di, 0xfffbc000L,
> -                                       0xfffc0000L, 0, 0, 2);
> +                        set_e820_range(ES, regs.u.r16.di, 0xfeffc000L,
> +                                       0xff000000L, 0, 0, 2);
>                          regs.u.r32.ebx = 6;

So if you use an older kernel, and the kvm_set_identity_map_addr fails,
you get the e820 entry wrong right? Perhaps you should use the hw/fw_cfg.c 
interface to communicate with the BIOS.


>                          break;
>                      case 6:
> -                        /* 256KB BIOS area at the end of 4 GB */
> +                        /* 16MB BIOS area at the end of 4 GB */
>                          set_e820_range(ES, regs.u.r16.di,
> -                                       0xfffc0000L, 0x00000000L ,0, 0, 2);
> +                                       0xff000000L, 0x00000000L ,0, 0, 2);
>                          if (extra_highbits_memory_size || extra_lowbits_memory_size)
>                              regs.u.r32.ebx = 7;
>                          else
> -- 
> 1.6.0.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux