WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ia64-devel

Re: [Xen-ia64-devel] [PATCH][RFC][TAKE4] the P2M/VP patches

To: Alex Williamson <alex.williamson@xxxxxx>
Subject: Re: [Xen-ia64-devel] [PATCH][RFC][TAKE4] the P2M/VP patches
From: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
Date: Fri, 21 Apr 2006 15:04:31 +0900
Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Thu, 20 Apr 2006 23:04:42 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <1144699698.7294.220.camel@localhost>
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
References: <20060407041627.GA12419%yamahata@xxxxxxxxxxxxx> <1144687913.7296.202.camel@localhost> <1144699698.7294.220.camel@localhost>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.4.2.1i
On Mon, Apr 10, 2006 at 02:08:18PM -0600, Alex Williamson wrote:

> >    I'm having trouble with the legacy VGA memory descriptor section of
> > this patch.
> 
>    I managed to get my system booting with the patch below (2-way, w/ >
> 1GB RAM).  Networking works, yeah!  The main changes here are that I
> removed the fabricated MDT entries describing the legacy VGA space,
> added EFI_ACPI_RECLAIM_MEMORY to the memory types mapped, and sorted the
> resulting memory descriptor table.  I also included the hack to avoid
> calling assign_domain_mmio_page() for large MMIO ranges.  Minor nit,
> we're still subtracting IA64_GRANULE_SIZE from the MDT entry for
> conventional memory, but we're not adding in the granule at the end of
> memory like we used to.

Hi Alex.
What was the problem with the legacy VGA space?

In case !CONFIG_XEN_IA64_DOM0_VP, the MDT which xen arranges says 
to Linux that [0*MB, 1*MB] is usable. 
So Linux uses the area, however Linux VGA driver writes its space
without any checks to check vga existance.
It results in data corruption. (the check is done at very early stage
of booting so that such corruption might not be a issue.)

I'm guessing that the following line should be fixed.
The legacy vga area should be used by Linux at least.
> MAKE_MD(EFI_LOADER_DATA,EFI_MEMORY_WB,0*MB,1*MB, 1);


On the other hand in case CONFIG_XEN_IA64_DOM0_VP,
you just commented out the following two lines.
> MAKE_MD(EFI_LOADER_DATA,EFI_MEMORY_WB, 0 * MB, VGA_RAM_START, 1);
> MAKE_MD(EFI_LOADER_DATA,EFI_MEMORY_WB, VGA_COLOURMAP_END, 1*MB, 1);

Does it mean that the simulation of 1MB free memory at physical
address zero is unnecessary?

I.e Should the following patch applied?
--- dom_fw.c    2006-04-15 03:15:53.000000000 +0900
+++ dom_fw.c_vga.c      2006-04-21 15:02:28.000000000 +0900
@@ -811,8 +811,6 @@ dom_fw_init (struct domain *d, const cha
                unsigned long last_start = max_page << PAGE_SHIFT;
                unsigned long last_end = last_start + IA64_GRANULE_SIZE;
 
-               /* simulate 1MB free memory at physical address zero */
-               MAKE_MD(EFI_LOADER_DATA,EFI_MEMORY_WB,0*MB,1*MB, 0);
                /* hypercall patches live here, masquerade as reserved PAL 
memory */
                
MAKE_MD(EFI_PAL_CODE,EFI_MEMORY_WB,HYPERCALL_START,HYPERCALL_END, 0);
                
MAKE_MD(EFI_CONVENTIONAL_MEMORY,EFI_MEMORY_WB,HYPERCALL_END,maxmem-IA64_GRANULE_SIZE,
 0);
@@ -836,7 +834,6 @@ dom_fw_init (struct domain *d, const cha
                else MAKE_MD(EFI_RESERVED_TYPE,0,0,0,0);
        }
        else {
-               MAKE_MD(EFI_LOADER_DATA,EFI_MEMORY_WB,0*MB,1*MB, 1);
                /* hypercall patches live here, masquerade as reserved PAL 
memory */
                
MAKE_MD(EFI_PAL_CODE,EFI_MEMORY_WB,HYPERCALL_START,HYPERCALL_END, 1);
                
MAKE_MD(EFI_CONVENTIONAL_MEMORY,EFI_MEMORY_WB,HYPERCALL_END,maxmem, 1);


-- 
yamahata

_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel

<Prev in Thread] Current Thread [Next in Thread>