[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Linux 2.6.11 does not build SMP
You aren't defining pmd_val_ma for CONFIG_SMP and LINUX_VERSION_CODE > KERNEL_VERSION(2,6,0) /* Linux 2.6 isn't using the traditional batched interface. */ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0) #define QUEUE_SIZE 2048 #define pte_offset_kernel pte_offset #define pmd_val_ma(v) (v).pmd; #define pud_t pgd_t #define pud_offset(d, va) d #else #ifdef CONFIG_SMP #define QUEUE_SIZE 1 #else #define QUEUE_SIZE 128 #define pmd_val_ma(v) (v).pud.pgd.pgd; #endif #endif unfortunately this doesn't stop you from using it: void queue_l2_entry_update(pmd_t *ptr, pmd_t val) { int cpu = smp_processor_id(); int idx; unsigned long flags; spin_lock_irqsave(&update_lock, flags); idx = per_cpu(mmu_update_queue_idx, cpu); per_cpu(update_queue[idx], cpu).ptr = virt_to_machine(ptr); per_cpu(update_queue[idx], cpu).val = pmd_val_ma(val); increment_index(); spin_unlock_irqrestore(&update_lock, flags); } void xen_l2_entry_update(pmd_t *ptr, pmd_t val) { int cpu = smp_processor_id(); int idx; unsigned long flags; spin_lock_irqsave(&update_lock, flags); idx = per_cpu(mmu_update_queue_idx, cpu); per_cpu(update_queue[idx], cpu).ptr = virt_to_machine(ptr); per_cpu(update_queue[idx], cpu).val = pmd_val_ma(val); increment_index_and_flush(); spin_unlock_irqrestore(&update_lock, flags); } ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |