Source-Changes-D archive

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

Re: CVS commit: src/sys/arch



Hi Manuel,

On 22 February 2012 00:40, Manuel Bouyer <bouyer%netbsd.org@localhost> wrote:
> Module Name:    src
> Committed By:   bouyer
> Date:           Tue Feb 21 19:10:13 UTC 2012
>
> Modified Files:
>        src/sys/arch/x86/x86: pmap.c
>        src/sys/arch/xen/x86: cpu.c
>
> Log Message:
> Avoid early use of xen_kpm_sync(); locks are not available at this time.
> Don't call cpu_init() twice.
>
> Makes LOCKDEBUG kernels boot again
>
>
> To generate a diff of this commit:
> cvs rdiff -u -r1.166 -r1.167 src/sys/arch/x86/x86/pmap.c

@@ -4183,14 +4183,30 @@
                        pte = pmap_pa2pte(pa) | PG_k | PG_V | PG_RW;
 #ifdef XEN
                        xpq_queue_pte_update(xpmap_ptetomach(&pdep[i]), pte);
-                       if (level == PTP_LEVELS) {
 #if defined(PAE) || defined(__x86_64__)
-                               if (i >= PDIR_SLOT_KERN) {
+                       if (level == PTP_LEVELS && i >= PDIR_SLOT_KERN) {
+                               if (__predict_true(
+                                   cpu_info_primary.ci_flags & CPUF_PRESENT)) {


Can we use that as a canonical MI method in Xen to detect if the tls
(gs/fs) has been setup ? If so, I can then cleanup the xpq_cpu() mess.

Cheers,
-- 
~Cherry


Home | Main Index | Thread Index | Old Index