Source-Changes-D archive

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

Re: CVS commit: src/sys/arch



On 8 November 2011 05:50, Jean-Yves Migeon <jeanyves.migeon%free.fr@localhost> 
wrote:
> On 06.11.2011 16:18, Cherry G. Mathew wrote:
>> Module Name:  src
>> Committed By: cherry
>> Date:         Sun Nov  6 15:18:19 UTC 2011
>>
>> Modified Files:
>>       src/sys/arch/amd64/include: pmap.h
>>       src/sys/arch/i386/include: pmap.h
>>       src/sys/arch/x86/include: cpu.h
>>       src/sys/arch/x86/x86: pmap.c
>>       src/sys/arch/xen/x86: cpu.c x86_xpmap.c
>>
>> Log Message:
>> [merging from cherry-xenmp] make pmap_kernel() shadow PMD per-cpu and MP
>> aware.
>
> Some comments.
>

...
>> -/* flag to be used for kernel mappings: PG_u on Xen/amd64, 0 otherwise */
>> -#if defined(XEN)&&  defined(__x86_64__)
>> -#define PG_k PG_u
>> -#else
>> -#define PG_k 0
>> -#endif
>> -
>
> Are you sure that all the mapping sites are safe (PT/PD bits), given the
> pmap split between pmap/xen_xpmap.c?
>

Ok, I realise I've broken the build with this one - apologies. For
some odd reason my tree built ok ( even after nuking the obj dir)

The current bandaid by christos and njoly is incorrect. I propose
re-exporting PG_k to x86/include/pmap.h until (if ?) the xen pmap is
completely independant of the x86 one.

Please let me know if there are objections to this patch below:

Thanks,

-- 
~Cherry



Index: arch/x86/include/pmap.h
===================================================================
RCS file: /cvsroot/src/sys/arch/x86/include/pmap.h,v
retrieving revision 1.44
diff -u -r1.44 pmap.h
--- arch/x86/include/pmap.h     6 Nov 2011 11:40:47 -0000       1.44
+++ arch/x86/include/pmap.h     8 Nov 2011 13:35:16 -0000
@@ -173,6 +173,13 @@
        ((pmap)->pm_pdirpa[0] + (index) * sizeof(pd_entry_t))
 #endif

+/* flag to be used for kernel mappings: PG_u on Xen/amd64, 0 otherwise */
+#if defined(XEN) && defined(__x86_64__)
+#define PG_k PG_u
+#else
+#define PG_k 0
+#endif
+
 /*
  * MD flags that we use for pmap_enter and pmap_kenter_pa:
  */
Index: arch/x86/x86/pmap.c
===================================================================
RCS file: /cvsroot/src/sys/arch/x86/x86/pmap.c,v
retrieving revision 1.140
diff -u -r1.140 pmap.c
--- arch/x86/x86/pmap.c 8 Nov 2011 12:44:29 -0000       1.140
+++ arch/x86/x86/pmap.c 8 Nov 2011 13:35:20 -0000
@@ -211,11 +211,6 @@
 #include <xen/hypervisor.h>
 #endif

-/* If this is not needed anymore it should be GC'ed */
-#ifndef PG_k
-#define        PG_k    0
-#endif
-
 /*
  * general info:
  *
Index: arch/xen/include/xenpmap.h
===================================================================
RCS file: /cvsroot/src/sys/arch/xen/include/xenpmap.h,v
retrieving revision 1.30
diff -u -r1.30 xenpmap.h
--- arch/xen/include/xenpmap.h  6 Nov 2011 11:40:47 -0000       1.30
+++ arch/xen/include/xenpmap.h  8 Nov 2011 13:35:20 -0000
@@ -34,13 +34,6 @@
 #include "opt_xen.h"
 #endif

-/* flag to be used for kernel mappings: PG_u on Xen/amd64, 0 otherwise */
-#if defined(XEN) && defined(__x86_64__)
-#define PG_k PG_u
-#else
-#define PG_k 0
-#endif
-
 #define        INVALID_P2M_ENTRY       (~0UL)

 void xpq_queue_machphys_update(paddr_t, paddr_t);
Index: arch/xen/x86/xen_pmap.c
===================================================================
RCS file: /cvsroot/src/sys/arch/xen/x86/xen_pmap.c,v
retrieving revision 1.7
diff -u -r1.7 xen_pmap.c
--- arch/xen/x86/xen_pmap.c     6 Nov 2011 11:40:47 -0000       1.7
+++ arch/xen/x86/xen_pmap.c     8 Nov 2011 13:35:21 -0000
@@ -142,13 +142,6 @@
 #include <xen/hypervisor.h>
 #endif

-/* flag to be used for kernel mappings: PG_u on Xen/amd64, 0 otherwise */
-#if defined(XEN) && defined(__x86_64__)
-#define PG_k PG_u
-#else
-#define PG_k 0
-#endif
-
 #define COUNT(x)       /* nothing */

 static pd_entry_t * const alternate_pdes[] = APDES_INITIALIZER;


Home | Main Index | Thread Index | Old Index