rpms/kernel-xen-2.6/devel linux-2.6-xen-0016-xen-x86_64-Add-64-bit-version-of-privcmd_hypercall.patch, NONE, 1.1 linux-2.6-xen-0017-xen-x86_64-Only-define-load_user_cs_desc-on-32-bi.patch, NONE, 1.1 linux-2.6-xen-0018-xen-expose-set_pte_vaddr-and-make-xen-use-it.patch, NONE, 1.1 linux-2.6-xen-0019-xen-dom0-Add-set_fixmap-pv_mmu_ops.patch, NONE, 1.1 linux-2.6-xen-0020-x86_64-Expose-set_pte_vaddr.patch, NONE, 1.1 linux-2.6-xen-0021-x86_64-Split-set_pte_vaddr.patch, NONE, 1.1 linux-2.6-xen-0022-x86_64-Add-clear_fixmap.patch, NONE, 1.1 linux-2.6-xen-0023-xen-x86_64-Make-set_fixmap-a-paravirt-op-on-64-bi.patch, NONE, 1.1 linux-2.6-xen-0024-xen-x86_64-Hack-to-set-vsyscall-pages-on-user-space.patch, NONE, 1.1 linux-2.6-xen-0025-Handle-VSYSCALL_FIRST_PAGE-on-xen_set_pte.patch, NONE, 1.1 linux-2.6-xen-0026-DMI-Define-dmi_scan_machine-as-no-op-if-CONFIG_DM.patch, NONE, 1.1 linux-2.6-xen-0027-ACPI-thermal-Compile-without-CONFIG_DMI.patch, NONE, 1.1 linux-2.6-xen-0028-xen-x86_64-Remove-the-640K-1M-hole-and-disable-DMI.patch, NONE, 1.1 linux-2.6-xen-0029-xen-x86_64-Add-update_va_mapping-64-bit-code.patch, NONE, 1.1 linux-2.6-xen-0030-x86_64-Add-sync_cmpxchg.patch, NONE, 1.1 linux-2.6-xen-0031-xen-x86_64-Implement-HYPERVISOR-MULTI-_update_desc.patch, NONE, 1.1 linux-2.6-xen-0032-xen-x86_64-Add-hacky-64-bit-x86_-read-write-_percpu.patch, NONE, 1.1 linux-2.6-xen-0033-xen-x86_64-Use-x86_read_percpu-only-to-refer-to-a.patch, NONE, 1.1 linux-2.6-xen-0034-Better-implementation-of-pte-functions.patch, NONE, 1.1 linux-2.6-xen-0035-Add-FIX_PARAVIRT_BOOTAP-to-fixmap_64.h-too.patch, NONE, 1.1 linux-2.6-xen-0036-Add-gate_offset-and-gate_segment-macros.patch, NONE, 1.1 linux-2.6-xen-0037-xen_write_idt_entry-and-cvt_gate_to_trap.patch, NONE, 1.1 linux-2.6-xen-0038-typedefs-for-pte_val-and-friends.patch, NONE, 1.1 linux-2.6-xen-0039-x86_64-implementation-of-some-page.h-macros.patch, NONE, 1.1 linux-2.6-xen-0040-Chainsaw-style-ifdefs.patch, NONE, 1.1 linux-2.6-xen-0041-xen-Make-xen_pte_val-generic.patch, NONE, 1.1 linux-2.6-xen-0042-More-chainsaw-ifdefs.patch, NONE, 1.1 linux-2.6-xen-0043-Chainsaw-ifdefs-on-assembly-percpu-handling.patch, NONE, 1.1 linux-2.6-xen-0044-x86_64-percpu-assembly-macros.patch, NONE, 1.1 linux-2.6-xen-0045-Some-xen-asm.S-x86_64-code.patch, NONE, 1.1 linux-2.6-xen-0046-Chainsaw-party-SPLITME.patch, NONE, 1.1 linux-2.6-xen-0047-xen-asm.S-x86_64-notes.patch, NONE, 1.1 linux-2.6-xen-0048-xen-x86_64-Make-hypercall-assembly-code-work.patch, NONE, 1.1 linux-2.6-xen-0049-xen-x86_64-pda-initialization.patch, NONE, 1.1 linux-2.6-xen-0050-Disable-discover_ebda-under-paravirt.patch, NONE, 1.1 linux-2.6-xen-0051-Disable-early_printk-by-default.patch, NONE, 1.1 linux-2.6-xen-0052-xen-Set-__HYPERVISOR_VIRT_START-for-x86_64.patch, NONE, 1.1 linux-2.6-xen-0053-Set-__PAGE_OFFSET-as-required-by-Xen.patch, NONE, 1.1 linux-2.6-xen-0054-DEBUG-Add-xprintk-to-log-directly-via-hypercall-fo.patch, NONE, 1.1 linux-2.6-xen-0055-DEBUG-Add-xprintk-debugging-printk-prototype-to-hvc.patch, NONE, 1.1 Makefile, 1.15, 1.16 Makefile.config, 1.15, 1.16 kernel.spec, 1.35, 1.36 linux-2.6-xen-0056-Use-__pgd-on-mk_kernel_pgd.patch, 1.1, 1.2 linux-2.6-xen-0057-Include-user-page-tables-on-head_64.S.patch, 1.1, 1.2 linux-2.6-xen-0058-Avoid-using-mk_unsigned_long.patch, 1.1, 1.2 linux-2.6-xen-0059-Lots-of-unrelated-changes.patch, 1.1, 1.2 linux-2.6-xen-0060-Hack-disable-vsmp.patch, 1.1, 1.2 linux-2.6-xen-0061-Export-early_make_page_readonly.patch, 1.1, 1.2 linux-2.6-xen-0062-Disable-multicalls.c-too-verbose-debugging.patch, 1.1, 1.2 linux-2.6-xen-0063-Xen-64-bit-ready-MMU-operations.patch, 1.1, 1.2 linux-2.6-xen-0064-Some-xen-mmu-pv-ops-implemented.patch, 1.1, 1.2 linux-2.6-xen-0065-Trying-to-make-the-pagetable-initialization-code-wor.patch, 1.1, 1.2 linux-2.6-xen-0066-Xen-specific-find_early_table_space-FIXME.patch, 1.1, 1.2 linux-2.6-xen-0067-Xen-call-e820_print_map-when-setting-up-memory.patch, 1.1, 1.2 linux-2.6-xen-0068-Comment-debugging-msgs.patch, 1.1, 1.2 linux-2.6-xen-0069-Try-to-make-pagetables-read-only.patch, 1.1, 1.2 linux-2.6-xen-0070-Debug-dump-pgtables-on-make_page_readonly.patch, 1.1, 1.2 linux-2.6-xen-0071-Disable-apic-at-compile-time-FIXME.patch, 1.1, 1.2 linux-2.6-xen-0072-Parse-early-params-after-init_memory_mapping.patch, 1.1, 1.2 linux-2.6-xen-0073-xen-Move-addr_to_page-to-init.h.patch, 1.1, 1.2 linux-2.6-xen-0074-Make-xen_pxx_val-and-xen_make_pxx-handle-attr-bi.patch, 1.1, 1.2 linux-2.6-xen-0075-Pull-xen_finish_init_mappin-from-XS-upstream.patch, 1.1, 1.2 linux-2.6-xen-0076-Pull-spp_getpage-changes-from-XS-upstream-REVIEWM.patch, 1.1, 1.2 linux-2.6-xen-0077-Pull-xen_extend_init_mapping-from-XS-upstream-FIX.patch, 1.1, 1.2 linux-2.6-xen-0078-New-enum-fixed_addresses-values-REVIEWME.patch, 1.1, 1.2 linux-2.6-xen-0079-Reserve-bootmem-areas-used-by-Xen-FIXME.patch, 1.1, 1.2 linux-2.6-xen-0080-xen_convert_trap_info-use-sizeof-struct-gate_desc.patch, 1.1, 1.2 linux-2.6-xen-0081-Call-paravirt_pagetable_setup_-start-done-REVIEW.patch, 1.1, 1.2 linux-2.6-xen-0082-ifdef-CONFIG_X86_32-on-xen-enlighten.c-REVIEWME.patch, 1.1, 1.2 linux-2.6-xen-0083-Handle-Xen-exception-stack-it-is-different-from-bar.patch, 1.1, 1.2 linux-2.6-xen-0084-Make-hvc_xen-console-use-xprintk-TEMPORARY.patch, 1.1, 1.2 linux-2.6-xen-0085-Implement-64-bit-version-of-HYPERVISOR_set_callbacks.patch, 1.1, 1.2 linux-2.6-xen-0086-Make-arch_vcpu_info-be-of-the-right-size-on-both-32.patch, 1.1, 1.2 linux-2.6-xen-0087-Implement-asm-xen_iret.patch, 1.1, 1.2 linux-2.6-xen-0088-xen-64-xen_iret-use-iretq-directly-if-returning-t.patch, 1.1, 1.2 linux-2.6-xen-0089-Implement-xen_irqenable_syscall_ret.patch, 1.1, 1.2 linux-2.6-xen-0090-DEBUG-xen_iret-always-return-through-the-hyperviso.patch, 1.1, 1.2 linux-2.6-xen-0091-Implement-some-xen-callbacks-on-xen-entry_64.S.patch, 1.1, 1.2 linux-2.6-xen-0092-Xen-specific-ifdef-hacks-on-kernel-entry_64.S-FIXM.patch, 1.1, 1.2 linux-2.6-xen-0093-Disable-syscall32-code-temporarily-FIXME.patch, 1.1, 1.2 linux-2.6-xen-0094-Use-__KERNEL_DS-as-SS-when-returning-to-a-kernel-thr.patch, 1.1, 1.2 linux-2.6-xen-0095-Use-apic_xen-on-genapic-by-default-FIXME.patch, 1.1, 1.2 linux-2.6-xen-0096-irq-vector-ifdef-chainsaw-FIXME.patch, 1.1, 1.2 linux-2.6-xen-0097-ifdef-chainsaw-on-syscall_init-FIXME.patch, 1.1, 1.2 linux-2.6-xen-0098-Pull-xen-genapic-implementation-from-upstream-Xen.patch, 1.1, 1.2 linux-2.6-xen-0099-Debugging-printk-s.patch, 1.1, 1.2 linux-2.6-xen-0100-Leave-lazy_cpu_mode-on-__switch_to.patch, 1.1, 1.2 linux-2.6-xen-0101-xen-64-Handle-fs-and-gs-on-xen_load_tls-properl.patch, 1.1, 1.2 linux-2.6-xen-0102-Disable-vcpu_info_placement-temporarily-FIXME.patch, 1.1, 1.2 linux-2.6-xen-0103-Fix-typo-on-ifdef-again.patch, 1.1, 1.2 linux-2.6-xen-0104-DEBUG-Don-t-try-to-actually-read-the-page-on-show_.patch, 1.1, 1.2 linux-2.6-xen-0105-Make-load_gs_index-a-paravirt-operation.patch, 1.1, 1.2 linux-2.6-xen-0106-xen-pgd_walk-use-limit-argument-instead-of-FIXADD.patch, 1.1, 1.2 linux-2.6-xen-0107-xen-pgd_walk-Eliminate-BUG_ON-limit-FIXADDR_TOP.patch, 1.1, 1.2 linux-2.6-xen-0108-xen-pgd_walk-accept-start-parameter.patch, 1.1, 1.2 linux-2.6-xen-0109-xen-64-reserve_bootmem-xen_start_info-area.patch, 1.1, 1.2 linux-2.6-xen-0110-pvops-64-call-paravirt_post_allocator_init-on-set.patch, 1.1, 1.2 linux-2.6-xen-0111-use-write_gdt_entry-on-vsyscall_set_cpu-CLEANME.patch, 1.1, 1.2 linux-2.6-xen-0112-xen-64-implement-xen_load_gs_index.patch, 1.1, 1.2 linux-2.6-xen-0113-include-asm-x86-pgalloc_64.h-pvops-hacks-SPLITME.patch, 1.1, 1.2 linux-2.6-xen-0114-Multi-pagetable-write_cr3-implementation-FIXME.patch, 1.1, 1.2 linux-2.6-xen-0115-Make-kcons_write_dom0-non-static-TEMPORARY.patch, 1.1, 1.2 linux-2.6-xen-0116-Disable-the-weird-count-loop-on-kcons_write_dom0.patch, 1.1, 1.2 linux-2.6-xen-0117-Make-xen_start_info-read-only.patch, 1.1, 1.2 linux-2.6-xen-0118-Hack-to-implement-return-to-userspace-without-SWAPGS.patch, 1.1, 1.2 linux-2.6-xen-0119-Xen-SEGBASE_-defines.patch, 1.1, 1.2 linux-2.6-xen-0120-Xen-HYPERVISOR_set_segment_base-implementation.patch, 1.1, 1.2 linux-2.6-xen-0121-Change-signature-of-paravirt_alloc_-pt-pd-REVIEWME.patch, 1.1, 1.2 linux-2.6-xen-0122-Comment-e820_print_map-call-TEMPORARY.patch, 1.1, 1.2 linux-2.6-xen-0123-Xen-missing-includes.patch, 1.1, 1.2 linux-2.6-xen-0124-asm-x86-pgtable_64.h-include-linux-spinlock.h.patch, 1.1, 1.2 linux-2.6-xen-0125-asm-x86-pgtable.h-include-asm-page.h.patch, 1.1, 1.2 linux-2.6-xen-0126-fix-pxxval_t-usage-on-mm-init_64.c.patch, 1.1, 1.2 linux-2.6-xen-0127-Missing-Xen-include.patch, 1.1, 1.2 linux-2.6-xen-0128-un-static-ipi_to_irq.patch, 1.1, 1.2 linux-2.6-xen-0129-Don-t-use-_PAGE_GLOBAL-bit-under-Xen-FIXME.patch, 1.1, 1.2 linux-2.6-xen-0130-Trying-to-organize-the-xen-bootmem-allocation-mess.patch, 1.1, 1.2 linux-2.6-xen-0131-Don-t-call-xprintk-when-writing-to-hvc-console.patch, 1.1, 1.2 linux-2.6-xen-0132-Xen-reserve_bootmem-xenstore-and-console-interfac.patch, 1.1, 1.2 linux-2.6-xen-0133-pvops-64-call-paravirt_activate_mm-on-activate_mm.patch, 1.1, 1.2 linux-2.6-xen-0134-Xen-64-bit-support-on-xen_pgd_pin.patch, 1.1, 1.2 linux-2.6-xen-0135-Xen-64-pin-user-PGD-on-activate_mm-and-dup_mmap.patch, 1.1, 1.2 linux-2.6-xen-0136-pgd_walk-changes-to-make-pgd-pinning-work-FIXME.patch, 1.1, 1.2 linux-2.6-xen-0137-Xen-Add-a-order-parameter-to-pgd_walk.patch, 1.1, 1.2 linux-2.6-xen-0138-Xen-64-Unpin-user-pagetable-on-xen_pgd_unpin.patch, 1.1, 1.2 linux-2.6-xen-0139-Use-un-pin_page-when-un-pinning-pgd.patch, 1.1, 1.2 linux-2.6-xen-0140-Allow-enabling-Xen-on-x86_64.patch, 1.1, 1.2 linux-2.6-xen-0141-Add-include-linux-spinlock_types.h-to-asm-x86-pgt.patch, 1.1, 1.2 linux-2.6-xen-0142-Restore-some-sanity-on-the-initial-pagetable-bootmem.patch, 1.1, 1.2 linux-2.6-xen-0143-Xen-Use-system_call_after_swapgs-as-the-syscall-c.patch, 1.1, 1.2 linux-2.6-xen-0144-DEBUG-write-to-HV-console-on-printk.patch, 1.1, 1.2 linux-2.6-xen-0145-Add-a-system_call_after_saveargs-label-to-entry_64.S.patch, 1.1, 1.2 linux-2.6-xen-0146-Create-xen-specific-syscall-entry.patch, 1.1, 1.2 linux-2.6-xen-0147-syscall-related-Xen-ifdefs-FIXME.patch, 1.1, 1.2 linux-2.6-xen-0148-Point-set_pte-to-xen_set_pte-since-the-beginning.patch, 1.1, 1.2 linux-2.6-xen-0149-DEBUG-slab-debugging.patch, 1.1, 1.2 linux-2.6-xen-0150-pvops-64-Include-rsi-on-the-register-clobber-list.patch, 1.1, 1.2 linux-2.6-xen-0151-Xen-64-quick-ugly-hack-to-fix-pgd_clear-pagetabl.patch, 1.1, 1.2 linux-2.6-xen-0152-Add-missing-acpi-include-to-xen-setup.c.patch, 1.1, 1.2 linux-2.6-xen-0153-Don-t-use-FIX_VDSO-on-64-bit.patch, 1.1, 1.2 linux-2.6-xen-0154-Mark-init-pages-read-write-again-on-free_init_pages.patch, 1.1, 1.2 linux-2.6-xen-0155-reserve_early-kernel-text-and-data-segments.patch, 1.1, 1.2 linux-2.6-xen-0016-xen-debug-Add-xprintk-to-log-directly-via-hypercall.patch, 1.7, NONE linux-2.6-xen-0017-xen-x86_64-Add-64-bit-version-of-privcmd_hypercall.patch, 1.8, NONE linux-2.6-xen-0018-xen-x86_64-Only-define-load_user_cs_desc-on-32-bi.patch, 1.5, NONE linux-2.6-xen-0019-xen-expose-set_pte_vaddr-and-make-xen-use-it.patch, 1.1, NONE linux-2.6-xen-0020-xen-dom0-Add-set_fixmap-pv_mmu_ops.patch, 1.1, NONE linux-2.6-xen-0021-x86_64-Expose-set_pte_vaddr.patch, 1.1, NONE linux-2.6-xen-0022-x86_64-Split-set_pte_vaddr.patch, 1.1, NONE linux-2.6-xen-0023-x86_64-Add-clear_fixmap.patch, 1.1, NONE linux-2.6-xen-0024-xen-x86_64-Make-set_fixmap-a-paravirt-op-on-64-bi.patch, 1.1, NONE linux-2.6-xen-0025-xen-x86_64-Hack-to-set-vsyscall-pages-on-user-space.patch, 1.1, NONE linux-2.6-xen-0026-Handle-VSYSCALL_FIRST_PAGE-on-xen_set_pte.patch, 1.1, NONE linux-2.6-xen-0027-DMI-Define-dmi_scan_machine-as-no-op-if-CONFIG_DM.patch, 1.1, NONE linux-2.6-xen-0028-ACPI-thermal-Compile-without-CONFIG_DMI.patch, 1.1, NONE linux-2.6-xen-0029-xen-x86_64-Remove-the-640K-1M-hole-and-disable-DMI.patch, 1.1, NONE linux-2.6-xen-0030-xen-x86_64-Add-update_va_mapping-64-bit-code.patch, 1.1, NONE linux-2.6-xen-0031-x86_64-Add-sync_cmpxchg.patch, 1.1, NONE linux-2.6-xen-0032-xen-x86_64-Implement-HYPERVISOR-MULTI-_update_desc.patch, 1.1, NONE linux-2.6-xen-0033-xen-x86_64-Add-hacky-64-bit-x86_-read-write-_percpu.patch, 1.1, NONE linux-2.6-xen-0034-xen-x86_64-Use-x86_read_percpu-only-to-refer-to-a.patch, 1.1, NONE linux-2.6-xen-0035-Better-implementation-of-pte-functions.patch, 1.1, NONE linux-2.6-xen-0036-Add-FIX_PARAVIRT_BOOTAP-to-fixmap_64.h-too.patch, 1.1, NONE linux-2.6-xen-0037-Add-gate_offset-and-gate_segment-macros.patch, 1.1, NONE linux-2.6-xen-0038-xen_write_idt_entry-and-cvt_gate_to_trap.patch, 1.1, NONE linux-2.6-xen-0039-typedefs-for-pte_val-and-friends.patch, 1.1, NONE linux-2.6-xen-0040-x86_64-implementation-of-some-page.h-macros.patch, 1.1, NONE linux-2.6-xen-0041-Chainsaw-style-ifdefs.patch, 1.1, NONE linux-2.6-xen-0042-xen-Make-xen_pte_val-generic.patch, 1.1, NONE linux-2.6-xen-0043-More-chainsaw-ifdefs.patch, 1.1, NONE linux-2.6-xen-0044-Chainsaw-ifdefs-on-assembly-percpu-handling.patch, 1.1, NONE linux-2.6-xen-0045-x86_64-percpu-assembly-macros.patch, 1.1, NONE linux-2.6-xen-0046-Some-xen-asm.S-x86_64-code.patch, 1.1, NONE linux-2.6-xen-0047-Chainsaw-party-SPLITME.patch, 1.1, NONE linux-2.6-xen-0048-xen-asm.S-x86_64-notes.patch, 1.1, NONE linux-2.6-xen-0049-xen-x86_64-Make-hypercall-assembly-code-work.patch, 1.1, NONE linux-2.6-xen-0050-xen-x86_64-pda-initialization.patch, 1.1, NONE linux-2.6-xen-0051-Disable-discover_ebda-under-paravirt.patch, 1.1, NONE linux-2.6-xen-0052-Disable-early_printk-by-default.patch, 1.1, NONE linux-2.6-xen-0053-xen-Set-__HYPERVISOR_VIRT_START-for-x86_64.patch, 1.1, NONE linux-2.6-xen-0054-Set-__PAGE_OFFSET-as-required-by-Xen.patch, 1.1, NONE linux-2.6-xen-0055-DEBUG-Add-xprintk-to-log-directly-via-hypercall-fo.patch, 1.1, NONE

Mark McLoughlin (markmc) fedora-extras-commits at redhat.com
Mon Apr 14 16:52:31 UTC 2008


Author: markmc

Update of /cvs/pkgs/rpms/kernel-xen-2.6/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv2271

Modified Files:
	Makefile Makefile.config kernel.spec 
	linux-2.6-xen-0056-Use-__pgd-on-mk_kernel_pgd.patch 
	linux-2.6-xen-0057-Include-user-page-tables-on-head_64.S.patch 
	linux-2.6-xen-0058-Avoid-using-mk_unsigned_long.patch 
	linux-2.6-xen-0059-Lots-of-unrelated-changes.patch 
	linux-2.6-xen-0060-Hack-disable-vsmp.patch 
	linux-2.6-xen-0061-Export-early_make_page_readonly.patch 
	linux-2.6-xen-0062-Disable-multicalls.c-too-verbose-debugging.patch 
	linux-2.6-xen-0063-Xen-64-bit-ready-MMU-operations.patch 
	linux-2.6-xen-0064-Some-xen-mmu-pv-ops-implemented.patch 
	linux-2.6-xen-0065-Trying-to-make-the-pagetable-initialization-code-wor.patch 
	linux-2.6-xen-0066-Xen-specific-find_early_table_space-FIXME.patch 
	linux-2.6-xen-0067-Xen-call-e820_print_map-when-setting-up-memory.patch 
	linux-2.6-xen-0068-Comment-debugging-msgs.patch 
	linux-2.6-xen-0069-Try-to-make-pagetables-read-only.patch 
	linux-2.6-xen-0070-Debug-dump-pgtables-on-make_page_readonly.patch 
	linux-2.6-xen-0071-Disable-apic-at-compile-time-FIXME.patch 
	linux-2.6-xen-0072-Parse-early-params-after-init_memory_mapping.patch 
	linux-2.6-xen-0073-xen-Move-addr_to_page-to-init.h.patch 
	linux-2.6-xen-0074-Make-xen_pxx_val-and-xen_make_pxx-handle-attr-bi.patch 
	linux-2.6-xen-0075-Pull-xen_finish_init_mappin-from-XS-upstream.patch 
	linux-2.6-xen-0076-Pull-spp_getpage-changes-from-XS-upstream-REVIEWM.patch 
	linux-2.6-xen-0077-Pull-xen_extend_init_mapping-from-XS-upstream-FIX.patch 
	linux-2.6-xen-0078-New-enum-fixed_addresses-values-REVIEWME.patch 
	linux-2.6-xen-0079-Reserve-bootmem-areas-used-by-Xen-FIXME.patch 
	linux-2.6-xen-0080-xen_convert_trap_info-use-sizeof-struct-gate_desc.patch 
	linux-2.6-xen-0081-Call-paravirt_pagetable_setup_-start-done-REVIEW.patch 
	linux-2.6-xen-0082-ifdef-CONFIG_X86_32-on-xen-enlighten.c-REVIEWME.patch 
	linux-2.6-xen-0083-Handle-Xen-exception-stack-it-is-different-from-bar.patch 
	linux-2.6-xen-0084-Make-hvc_xen-console-use-xprintk-TEMPORARY.patch 
	linux-2.6-xen-0085-Implement-64-bit-version-of-HYPERVISOR_set_callbacks.patch 
	linux-2.6-xen-0086-Make-arch_vcpu_info-be-of-the-right-size-on-both-32.patch 
	linux-2.6-xen-0087-Implement-asm-xen_iret.patch 
	linux-2.6-xen-0088-xen-64-xen_iret-use-iretq-directly-if-returning-t.patch 
	linux-2.6-xen-0089-Implement-xen_irqenable_syscall_ret.patch 
	linux-2.6-xen-0090-DEBUG-xen_iret-always-return-through-the-hyperviso.patch 
	linux-2.6-xen-0091-Implement-some-xen-callbacks-on-xen-entry_64.S.patch 
	linux-2.6-xen-0092-Xen-specific-ifdef-hacks-on-kernel-entry_64.S-FIXM.patch 
	linux-2.6-xen-0093-Disable-syscall32-code-temporarily-FIXME.patch 
	linux-2.6-xen-0094-Use-__KERNEL_DS-as-SS-when-returning-to-a-kernel-thr.patch 
	linux-2.6-xen-0095-Use-apic_xen-on-genapic-by-default-FIXME.patch 
	linux-2.6-xen-0096-irq-vector-ifdef-chainsaw-FIXME.patch 
	linux-2.6-xen-0097-ifdef-chainsaw-on-syscall_init-FIXME.patch 
	linux-2.6-xen-0098-Pull-xen-genapic-implementation-from-upstream-Xen.patch 
	linux-2.6-xen-0099-Debugging-printk-s.patch 
	linux-2.6-xen-0100-Leave-lazy_cpu_mode-on-__switch_to.patch 
	linux-2.6-xen-0101-xen-64-Handle-fs-and-gs-on-xen_load_tls-properl.patch 
	linux-2.6-xen-0102-Disable-vcpu_info_placement-temporarily-FIXME.patch 
	linux-2.6-xen-0103-Fix-typo-on-ifdef-again.patch 
	linux-2.6-xen-0104-DEBUG-Don-t-try-to-actually-read-the-page-on-show_.patch 
	linux-2.6-xen-0105-Make-load_gs_index-a-paravirt-operation.patch 
	linux-2.6-xen-0106-xen-pgd_walk-use-limit-argument-instead-of-FIXADD.patch 
	linux-2.6-xen-0107-xen-pgd_walk-Eliminate-BUG_ON-limit-FIXADDR_TOP.patch 
	linux-2.6-xen-0108-xen-pgd_walk-accept-start-parameter.patch 
	linux-2.6-xen-0109-xen-64-reserve_bootmem-xen_start_info-area.patch 
	linux-2.6-xen-0110-pvops-64-call-paravirt_post_allocator_init-on-set.patch 
	linux-2.6-xen-0111-use-write_gdt_entry-on-vsyscall_set_cpu-CLEANME.patch 
	linux-2.6-xen-0112-xen-64-implement-xen_load_gs_index.patch 
	linux-2.6-xen-0113-include-asm-x86-pgalloc_64.h-pvops-hacks-SPLITME.patch 
	linux-2.6-xen-0114-Multi-pagetable-write_cr3-implementation-FIXME.patch 
	linux-2.6-xen-0115-Make-kcons_write_dom0-non-static-TEMPORARY.patch 
	linux-2.6-xen-0116-Disable-the-weird-count-loop-on-kcons_write_dom0.patch 
	linux-2.6-xen-0117-Make-xen_start_info-read-only.patch 
	linux-2.6-xen-0118-Hack-to-implement-return-to-userspace-without-SWAPGS.patch 
	linux-2.6-xen-0119-Xen-SEGBASE_-defines.patch 
	linux-2.6-xen-0120-Xen-HYPERVISOR_set_segment_base-implementation.patch 
	linux-2.6-xen-0121-Change-signature-of-paravirt_alloc_-pt-pd-REVIEWME.patch 
	linux-2.6-xen-0122-Comment-e820_print_map-call-TEMPORARY.patch 
	linux-2.6-xen-0123-Xen-missing-includes.patch 
	linux-2.6-xen-0124-asm-x86-pgtable_64.h-include-linux-spinlock.h.patch 
	linux-2.6-xen-0125-asm-x86-pgtable.h-include-asm-page.h.patch 
	linux-2.6-xen-0126-fix-pxxval_t-usage-on-mm-init_64.c.patch 
	linux-2.6-xen-0127-Missing-Xen-include.patch 
	linux-2.6-xen-0128-un-static-ipi_to_irq.patch 
	linux-2.6-xen-0129-Don-t-use-_PAGE_GLOBAL-bit-under-Xen-FIXME.patch 
	linux-2.6-xen-0130-Trying-to-organize-the-xen-bootmem-allocation-mess.patch 
	linux-2.6-xen-0131-Don-t-call-xprintk-when-writing-to-hvc-console.patch 
	linux-2.6-xen-0132-Xen-reserve_bootmem-xenstore-and-console-interfac.patch 
	linux-2.6-xen-0133-pvops-64-call-paravirt_activate_mm-on-activate_mm.patch 
	linux-2.6-xen-0134-Xen-64-bit-support-on-xen_pgd_pin.patch 
	linux-2.6-xen-0135-Xen-64-pin-user-PGD-on-activate_mm-and-dup_mmap.patch 
	linux-2.6-xen-0136-pgd_walk-changes-to-make-pgd-pinning-work-FIXME.patch 
	linux-2.6-xen-0137-Xen-Add-a-order-parameter-to-pgd_walk.patch 
	linux-2.6-xen-0138-Xen-64-Unpin-user-pagetable-on-xen_pgd_unpin.patch 
	linux-2.6-xen-0139-Use-un-pin_page-when-un-pinning-pgd.patch 
	linux-2.6-xen-0140-Allow-enabling-Xen-on-x86_64.patch 
	linux-2.6-xen-0141-Add-include-linux-spinlock_types.h-to-asm-x86-pgt.patch 
	linux-2.6-xen-0142-Restore-some-sanity-on-the-initial-pagetable-bootmem.patch 
	linux-2.6-xen-0143-Xen-Use-system_call_after_swapgs-as-the-syscall-c.patch 
	linux-2.6-xen-0144-DEBUG-write-to-HV-console-on-printk.patch 
	linux-2.6-xen-0145-Add-a-system_call_after_saveargs-label-to-entry_64.S.patch 
	linux-2.6-xen-0146-Create-xen-specific-syscall-entry.patch 
	linux-2.6-xen-0147-syscall-related-Xen-ifdefs-FIXME.patch 
	linux-2.6-xen-0148-Point-set_pte-to-xen_set_pte-since-the-beginning.patch 
	linux-2.6-xen-0149-DEBUG-slab-debugging.patch 
	linux-2.6-xen-0150-pvops-64-Include-rsi-on-the-register-clobber-list.patch 
	linux-2.6-xen-0151-Xen-64-quick-ugly-hack-to-fix-pgd_clear-pagetabl.patch 
	linux-2.6-xen-0152-Add-missing-acpi-include-to-xen-setup.c.patch 
	linux-2.6-xen-0153-Don-t-use-FIX_VDSO-on-64-bit.patch 
	linux-2.6-xen-0154-Mark-init-pages-read-write-again-on-free_init_pages.patch 
	linux-2.6-xen-0155-reserve_early-kernel-text-and-data-segments.patch 
Added Files:
	linux-2.6-xen-0016-xen-x86_64-Add-64-bit-version-of-privcmd_hypercall.patch 
	linux-2.6-xen-0017-xen-x86_64-Only-define-load_user_cs_desc-on-32-bi.patch 
	linux-2.6-xen-0018-xen-expose-set_pte_vaddr-and-make-xen-use-it.patch 
	linux-2.6-xen-0019-xen-dom0-Add-set_fixmap-pv_mmu_ops.patch 
	linux-2.6-xen-0020-x86_64-Expose-set_pte_vaddr.patch 
	linux-2.6-xen-0021-x86_64-Split-set_pte_vaddr.patch 
	linux-2.6-xen-0022-x86_64-Add-clear_fixmap.patch 
	linux-2.6-xen-0023-xen-x86_64-Make-set_fixmap-a-paravirt-op-on-64-bi.patch 
	linux-2.6-xen-0024-xen-x86_64-Hack-to-set-vsyscall-pages-on-user-space.patch 
	linux-2.6-xen-0025-Handle-VSYSCALL_FIRST_PAGE-on-xen_set_pte.patch 
	linux-2.6-xen-0026-DMI-Define-dmi_scan_machine-as-no-op-if-CONFIG_DM.patch 
	linux-2.6-xen-0027-ACPI-thermal-Compile-without-CONFIG_DMI.patch 
	linux-2.6-xen-0028-xen-x86_64-Remove-the-640K-1M-hole-and-disable-DMI.patch 
	linux-2.6-xen-0029-xen-x86_64-Add-update_va_mapping-64-bit-code.patch 
	linux-2.6-xen-0030-x86_64-Add-sync_cmpxchg.patch 
	linux-2.6-xen-0031-xen-x86_64-Implement-HYPERVISOR-MULTI-_update_desc.patch 
	linux-2.6-xen-0032-xen-x86_64-Add-hacky-64-bit-x86_-read-write-_percpu.patch 
	linux-2.6-xen-0033-xen-x86_64-Use-x86_read_percpu-only-to-refer-to-a.patch 
	linux-2.6-xen-0034-Better-implementation-of-pte-functions.patch 
	linux-2.6-xen-0035-Add-FIX_PARAVIRT_BOOTAP-to-fixmap_64.h-too.patch 
	linux-2.6-xen-0036-Add-gate_offset-and-gate_segment-macros.patch 
	linux-2.6-xen-0037-xen_write_idt_entry-and-cvt_gate_to_trap.patch 
	linux-2.6-xen-0038-typedefs-for-pte_val-and-friends.patch 
	linux-2.6-xen-0039-x86_64-implementation-of-some-page.h-macros.patch 
	linux-2.6-xen-0040-Chainsaw-style-ifdefs.patch 
	linux-2.6-xen-0041-xen-Make-xen_pte_val-generic.patch 
	linux-2.6-xen-0042-More-chainsaw-ifdefs.patch 
	linux-2.6-xen-0043-Chainsaw-ifdefs-on-assembly-percpu-handling.patch 
	linux-2.6-xen-0044-x86_64-percpu-assembly-macros.patch 
	linux-2.6-xen-0045-Some-xen-asm.S-x86_64-code.patch 
	linux-2.6-xen-0046-Chainsaw-party-SPLITME.patch 
	linux-2.6-xen-0047-xen-asm.S-x86_64-notes.patch 
	linux-2.6-xen-0048-xen-x86_64-Make-hypercall-assembly-code-work.patch 
	linux-2.6-xen-0049-xen-x86_64-pda-initialization.patch 
	linux-2.6-xen-0050-Disable-discover_ebda-under-paravirt.patch 
	linux-2.6-xen-0051-Disable-early_printk-by-default.patch 
	linux-2.6-xen-0052-xen-Set-__HYPERVISOR_VIRT_START-for-x86_64.patch 
	linux-2.6-xen-0053-Set-__PAGE_OFFSET-as-required-by-Xen.patch 
	linux-2.6-xen-0054-DEBUG-Add-xprintk-to-log-directly-via-hypercall-fo.patch 
	linux-2.6-xen-0055-DEBUG-Add-xprintk-debugging-printk-prototype-to-hvc.patch 
Removed Files:
	linux-2.6-xen-0016-xen-debug-Add-xprintk-to-log-directly-via-hypercall.patch 
	linux-2.6-xen-0017-xen-x86_64-Add-64-bit-version-of-privcmd_hypercall.patch 
	linux-2.6-xen-0018-xen-x86_64-Only-define-load_user_cs_desc-on-32-bi.patch 
	linux-2.6-xen-0019-xen-expose-set_pte_vaddr-and-make-xen-use-it.patch 
	linux-2.6-xen-0020-xen-dom0-Add-set_fixmap-pv_mmu_ops.patch 
	linux-2.6-xen-0021-x86_64-Expose-set_pte_vaddr.patch 
	linux-2.6-xen-0022-x86_64-Split-set_pte_vaddr.patch 
	linux-2.6-xen-0023-x86_64-Add-clear_fixmap.patch 
	linux-2.6-xen-0024-xen-x86_64-Make-set_fixmap-a-paravirt-op-on-64-bi.patch 
	linux-2.6-xen-0025-xen-x86_64-Hack-to-set-vsyscall-pages-on-user-space.patch 
	linux-2.6-xen-0026-Handle-VSYSCALL_FIRST_PAGE-on-xen_set_pte.patch 
	linux-2.6-xen-0027-DMI-Define-dmi_scan_machine-as-no-op-if-CONFIG_DM.patch 
	linux-2.6-xen-0028-ACPI-thermal-Compile-without-CONFIG_DMI.patch 
	linux-2.6-xen-0029-xen-x86_64-Remove-the-640K-1M-hole-and-disable-DMI.patch 
	linux-2.6-xen-0030-xen-x86_64-Add-update_va_mapping-64-bit-code.patch 
	linux-2.6-xen-0031-x86_64-Add-sync_cmpxchg.patch 
	linux-2.6-xen-0032-xen-x86_64-Implement-HYPERVISOR-MULTI-_update_desc.patch 
	linux-2.6-xen-0033-xen-x86_64-Add-hacky-64-bit-x86_-read-write-_percpu.patch 
	linux-2.6-xen-0034-xen-x86_64-Use-x86_read_percpu-only-to-refer-to-a.patch 
	linux-2.6-xen-0035-Better-implementation-of-pte-functions.patch 
	linux-2.6-xen-0036-Add-FIX_PARAVIRT_BOOTAP-to-fixmap_64.h-too.patch 
	linux-2.6-xen-0037-Add-gate_offset-and-gate_segment-macros.patch 
	linux-2.6-xen-0038-xen_write_idt_entry-and-cvt_gate_to_trap.patch 
	linux-2.6-xen-0039-typedefs-for-pte_val-and-friends.patch 
	linux-2.6-xen-0040-x86_64-implementation-of-some-page.h-macros.patch 
	linux-2.6-xen-0041-Chainsaw-style-ifdefs.patch 
	linux-2.6-xen-0042-xen-Make-xen_pte_val-generic.patch 
	linux-2.6-xen-0043-More-chainsaw-ifdefs.patch 
	linux-2.6-xen-0044-Chainsaw-ifdefs-on-assembly-percpu-handling.patch 
	linux-2.6-xen-0045-x86_64-percpu-assembly-macros.patch 
	linux-2.6-xen-0046-Some-xen-asm.S-x86_64-code.patch 
	linux-2.6-xen-0047-Chainsaw-party-SPLITME.patch 
	linux-2.6-xen-0048-xen-asm.S-x86_64-notes.patch 
	linux-2.6-xen-0049-xen-x86_64-Make-hypercall-assembly-code-work.patch 
	linux-2.6-xen-0050-xen-x86_64-pda-initialization.patch 
	linux-2.6-xen-0051-Disable-discover_ebda-under-paravirt.patch 
	linux-2.6-xen-0052-Disable-early_printk-by-default.patch 
	linux-2.6-xen-0053-xen-Set-__HYPERVISOR_VIRT_START-for-x86_64.patch 
	linux-2.6-xen-0054-Set-__PAGE_OFFSET-as-required-by-Xen.patch 
	linux-2.6-xen-0055-DEBUG-Add-xprintk-to-log-directly-via-hypercall-fo.patch 
Log Message:
Fix merge error with xprintk() patch


linux-2.6-xen-0016-xen-x86_64-Add-64-bit-version-of-privcmd_hypercall.patch:

--- NEW FILE linux-2.6-xen-0016-xen-x86_64-Add-64-bit-version-of-privcmd_hypercall.patch ---
>From 4f33faeacad95a4a085ff5ee3f17a9112c2c2e32 Mon Sep 17 00:00:00 2001
From: Mark McLoughlin <markmc at redhat.com>
Date: Thu, 6 Mar 2008 11:10:59 +0000
Subject: [PATCH] xen x86_64: Add 64 bit version of privcmd_hypercall()

Signed-off-by: Mark McLoughlin <markmc at redhat.com>
---
 include/asm-x86/xen/hypercall.h |   28 ++++++++++++++++++++++++++++
 1 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/include/asm-x86/xen/hypercall.h b/include/asm-x86/xen/hypercall.h
index cd554ca..b0c518c 100644
--- a/include/asm-x86/xen/hypercall.h
+++ b/include/asm-x86/xen/hypercall.h
@@ -412,6 +412,7 @@ MULTI_stack_switch(struct multicall_entry *mcl,
 
 #include <xen/sys/privcmd.h>
 
+#ifdef CONFIG_X86_32
 static inline int privcmd_hypercall(privcmd_hypercall_t *hypercall)
 {
 	int ret;
@@ -437,5 +438,32 @@ static inline int privcmd_hypercall(privcmd_hypercall_t *hypercall)
 
 	return ret;
 }
+#else /* CONFIG_X86_32 */
+static inline int privcmd_hypercall(privcmd_hypercall_t *hypercall)
+{
+	int ret;
+        long ign1, ign2, ign3;
+
+	if (hypercall->op >= (PAGE_SIZE >> 5))
+		return -EINVAL;
+
+        __asm__ __volatile__ (
+		"movq %8,%%r10; movq %9,%%r8;"
+                "shll $5,%%eax ;"
+                "addq $hypercall_page,%%rax ;"
+                "call *%%rax"
+                : "=a" (ret), "=D" (ign1),
+                  "=S" (ign2), "=d" (ign3)
+                : "0" ((unsigned int)hypercall->op),
+                  "1" (hypercall->arg[0]),
+                  "2" (hypercall->arg[1]),
+                  "3" (hypercall->arg[2]),
+                  "g" (hypercall->arg[3]),
+                  "g" (hypercall->arg[4])
+                : "r8", "r10", "memory" );
+
+	return ret;
+}
+#endif /* CONFIG_X86_32 */
 
 #endif /* __HYPERCALL_H__ */
-- 
1.5.4.1


linux-2.6-xen-0017-xen-x86_64-Only-define-load_user_cs_desc-on-32-bi.patch:

--- NEW FILE linux-2.6-xen-0017-xen-x86_64-Only-define-load_user_cs_desc-on-32-bi.patch ---
>From 1ef74c12b0fa451775c5d0d3fd223e578c29ab7e Mon Sep 17 00:00:00 2001
From: Mark McLoughlin <markmc at redhat.com>
Date: Tue, 25 Mar 2008 11:56:43 +0000
Subject: [PATCH] xen x86_64: Only define load_user_cs_desc() on 32 bit

load_user_cs_desc() is only used on 32 bit, so only
define it in that case.

Fixes compile failure in native_load_user_cs_desc()
since mm_context_t->user_cs is only available on
32 bit.

Signed-off-by: Mark McLoughlin <markmc at redhat.com>
---
 arch/x86/kernel/paravirt.c |    2 ++
 arch/x86/xen/enlighten.c   |    4 ++++
 include/asm-x86/desc.h     |    4 ++++
 include/asm-x86/paravirt.h |    4 ++++
 4 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c
index d59db07..c845947 100644
--- a/arch/x86/kernel/paravirt.c
+++ b/arch/x86/kernel/paravirt.c
@@ -331,7 +331,9 @@ struct pv_cpu_ops pv_cpu_ops = {
 	.read_tscp = native_read_tscp,
 	.load_tr_desc = native_load_tr_desc,
 	.set_ldt = native_set_ldt,
+#ifdef CONFIG_X86_32
 	.load_user_cs_desc = native_load_user_cs_desc,
+#endif
 	.load_gdt = native_load_gdt,
 	.load_idt = native_load_idt,
 	.store_gdt = native_store_gdt,
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index a5b111d..907567d 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -291,6 +291,7 @@ static void xen_set_ldt(const void *addr, unsigned entries)
 	xen_mc_issue(PARAVIRT_LAZY_CPU);
 }
 
+#ifdef CONFIG_X86_32
 static inline void xen_load_user_cs_desc(int cpu, struct mm_struct *mm)
 {
 	void *gdt;
@@ -306,6 +307,7 @@ static inline void xen_load_user_cs_desc(int cpu, struct mm_struct *mm)
 
 	HYPERVISOR_update_descriptor(mgdt.maddr, descriptor);
 }
+#endif
 
 static void xen_load_gdt(const struct desc_ptr *dtr)
 {
@@ -1015,7 +1017,9 @@ static const struct pv_cpu_ops xen_cpu_ops __initdata = {
 
 	.load_tr_desc = paravirt_nop,
 	.set_ldt = xen_set_ldt,
+#ifdef CONFIG_X86_32
 	.load_user_cs_desc = xen_load_user_cs_desc,
+#endif
 	.load_gdt = xen_load_gdt,
 	.load_idt = xen_load_idt,
 	.load_tls = xen_load_tls,
diff --git a/include/asm-x86/desc.h b/include/asm-x86/desc.h
index ec3a84a..9b280be 100644
--- a/include/asm-x86/desc.h
+++ b/include/asm-x86/desc.h
@@ -95,7 +95,9 @@ static inline int desc_empty(const void *ptr)
 
 #define load_TLS(t, cpu) native_load_tls(t, cpu)
 #define set_ldt native_set_ldt
+#ifdef CONFIG_X86_32
 #define load_user_cs_desc native_load_user_cs_desc
+#endif
 
 #define write_ldt_entry(dt, entry, desc) \
 				native_write_ldt_entry(dt, entry, desc)
@@ -362,10 +364,12 @@ static inline void set_user_cs(struct desc_struct *desc, unsigned long limit)
 	desc->b = (limit & 0xf0000) | 0x00c0fb00;
 }
 
+#ifdef CONFIG_X86_32
 static inline void native_load_user_cs_desc(int cpu, struct mm_struct *mm)
 {
 	get_cpu_gdt_table(cpu)[GDT_ENTRY_DEFAULT_USER_CS] = mm->context.user_cs;
 }
+#endif
 
 #ifdef CONFIG_X86_32
 extern void arch_add_exec_range(struct mm_struct *mm, unsigned long limit);
diff --git a/include/asm-x86/paravirt.h b/include/asm-x86/paravirt.h
index ff8d218..7d7070a 100644
--- a/include/asm-x86/paravirt.h
+++ b/include/asm-x86/paravirt.h
@@ -113,7 +113,9 @@ struct pv_cpu_ops {
 	void (*store_gdt)(struct desc_ptr *);
 	void (*store_idt)(struct desc_ptr *);
 	void (*set_ldt)(const void *desc, unsigned entries);
+#ifdef CONFIG_X86_32
 	void (*load_user_cs_desc)(int cpu, struct mm_struct *mm);
+#endif
 	unsigned long (*store_tr)(void);
 	void (*load_tls)(struct thread_struct *t, unsigned int cpu);
 	void (*write_ldt_entry)(struct desc_struct *ldt, int entrynum,
@@ -755,11 +757,13 @@ static inline void set_ldt(const void *addr, unsigned entries)
 {
 	PVOP_VCALL2(pv_cpu_ops.set_ldt, addr, entries);
 }
+#ifdef CONFIG_X86_32
 static inline void load_user_cs_desc(unsigned int cpu, 
 				     struct mm_struct *mm)
 {
 	PVOP_VCALL2(pv_cpu_ops.load_user_cs_desc, cpu, mm);
 }
+#endif
 static inline void store_gdt(struct desc_ptr *dtr)
 {
 	PVOP_VCALL1(pv_cpu_ops.store_gdt, dtr);
-- 
1.5.4.1


linux-2.6-xen-0018-xen-expose-set_pte_vaddr-and-make-xen-use-it.patch:

--- NEW FILE linux-2.6-xen-0018-xen-expose-set_pte_vaddr-and-make-xen-use-it.patch ---
>From 8a5a7f8fb2c2c75edaa06e4e933f3df9925f3aad Mon Sep 17 00:00:00 2001
From: Mark McLoughlin <markmc at redhat.com>
Date: Mon, 28 Jan 2008 15:38:03 +0000
Subject: [PATCH] xen: expose set_pte_vaddr() and make xen use it

Re-name set_pte_pfn() to set_pte_vaddr(), taking a pte_t
rather than pfn/flags, and expose it.

Make xen's set_pte_mfn() use this rather than copying it.

Signed-off-by: Jeremy Fitzhardinge <jeremy at xensource.com>
Signed-off-by: Juan Quintela <quintela at redhat.com>
Signed-off-by: Mark McLoughlin <markmc at redhat.com>
---
 arch/x86/mm/pgtable_32.c     |    8 ++++----
 arch/x86/xen/mmu.c           |   30 +-----------------------------
 include/asm-x86/pgtable_32.h |    3 +++
 3 files changed, 8 insertions(+), 33 deletions(-)

diff --git a/arch/x86/mm/pgtable_32.c b/arch/x86/mm/pgtable_32.c
index 2f9e9af..fca936b 100644
--- a/arch/x86/mm/pgtable_32.c
+++ b/arch/x86/mm/pgtable_32.c
@@ -76,7 +76,7 @@ void show_mem(void)
  * Associate a virtual page frame with a given physical page frame 
  * and protection flags for that frame.
  */ 
-static void set_pte_pfn(unsigned long vaddr, unsigned long pfn, pgprot_t flags)
+void set_pte_vaddr(unsigned long vaddr, pte_t pteval)
 {
 	pgd_t *pgd;
 	pud_t *pud;
@@ -99,8 +99,8 @@ static void set_pte_pfn(unsigned long vaddr, unsigned long pfn, pgprot_t flags)
 		return;
 	}
 	pte = pte_offset_kernel(pmd, vaddr);
-	if (pgprot_val(flags))
-		set_pte_present(&init_mm, vaddr, pte, pfn_pte(pfn, flags));
+	if (pte_val(pteval))
+		set_pte_present(&init_mm, vaddr, pte, pteval);
 	else
 		pte_clear(&init_mm, vaddr, pte);
 
@@ -158,7 +158,7 @@ void __set_fixmap (enum fixed_addresses idx, unsigned long phys, pgprot_t flags)
 		BUG();
 		return;
 	}
-	set_pte_pfn(address, phys >> PAGE_SHIFT, flags);
+	set_pte_vaddr(address, pfn_pte(phys >> PAGE_SHIFT, flags));
 	fixmaps++;
 }
 
diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
index 2a054ef..8660786 100644
--- a/arch/x86/xen/mmu.c
+++ b/arch/x86/xen/mmu.c
@@ -122,35 +122,7 @@ void xen_set_pmd(pmd_t *ptr, pmd_t val)
  */
 void set_pte_mfn(unsigned long vaddr, unsigned long mfn, pgprot_t flags)
 {
-	pgd_t *pgd;
-	pud_t *pud;
-	pmd_t *pmd;
-	pte_t *pte;
-
-	pgd = swapper_pg_dir + pgd_index(vaddr);
-	if (pgd_none(*pgd)) {
-		BUG();
-		return;
-	}
-	pud = pud_offset(pgd, vaddr);
-	if (pud_none(*pud)) {
-		BUG();
-		return;
-	}
-	pmd = pmd_offset(pud, vaddr);
-	if (pmd_none(*pmd)) {
-		BUG();
-		return;
-	}
-	pte = pte_offset_kernel(pmd, vaddr);
-	/* <mfn,flags> stored as-is, to permit clearing entries */
-	xen_set_pte(pte, mfn_pte(mfn, flags));
-
-	/*
-	 * It's enough to flush this one mapping.
-	 * (PGE mappings get flushed as well)
-	 */
-	__flush_tlb_one(vaddr);
+	set_pte_vaddr(vaddr, mfn_pte(mfn, flags));
 }
 
 void xen_set_pte_at(struct mm_struct *mm, unsigned long addr,
diff --git a/include/asm-x86/pgtable_32.h b/include/asm-x86/pgtable_32.h
index 4e6a0fc..0c9fddb 100644
--- a/include/asm-x86/pgtable_32.h
+++ b/include/asm-x86/pgtable_32.h
@@ -209,6 +209,9 @@ do {									\
 void native_pagetable_setup_start(pgd_t *base);
 void native_pagetable_setup_done(pgd_t *base);
 
+/* Install a pte for a particular vaddr in kernel space. */
+void set_pte_vaddr(unsigned long vaddr, pte_t pte);
+
 #ifndef CONFIG_PARAVIRT
 static inline void paravirt_pagetable_setup_start(pgd_t *base)
 {
-- 
1.5.4.1


linux-2.6-xen-0019-xen-dom0-Add-set_fixmap-pv_mmu_ops.patch:

--- NEW FILE linux-2.6-xen-0019-xen-dom0-Add-set_fixmap-pv_mmu_ops.patch ---
>From cd41e3d7543ce213d8bb091b34053f696fdd39dd Mon Sep 17 00:00:00 2001
From: Mark McLoughlin <markmc at redhat.com>
Date: Mon, 28 Jan 2008 15:42:08 +0000
Subject: [PATCH] xen dom0: Add set_fixmap pv_mmu_ops.

Adds the logic necessary to map by mfn rather than pfn when we set up
fixmaps to point to IO space.

Signed-off-by: Jeremy Fitzhardinge <jeremy at xensource.com>
Signed-off-by: Juan Quintela <quintela at redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
Signed-off-by: Mark McLoughlin <markmc at redhat.com>
---
 arch/x86/kernel/paravirt.c  |    2 ++
 arch/x86/mm/pgtable_32.c    |    9 +++++++--
 arch/x86/xen/enlighten.c    |   28 ++++++++++++++++++++++++++++
 include/asm-x86/fixmap_32.h |   13 +++++++++++--
 include/asm-x86/paravirt.h  |   13 +++++++++++++
 5 files changed, 61 insertions(+), 4 deletions(-)

diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c
index c845947..47f42bf 100644
--- a/arch/x86/kernel/paravirt.c
+++ b/arch/x86/kernel/paravirt.c
@@ -433,6 +433,8 @@ struct pv_mmu_ops pv_mmu_ops = {
 		.enter = paravirt_nop,
 		.leave = paravirt_nop,
 	},
+
+	.set_fixmap = native_set_fixmap,
 };
 
 EXPORT_SYMBOL_GPL(pv_time_ops);
diff --git a/arch/x86/mm/pgtable_32.c b/arch/x86/mm/pgtable_32.c
index fca936b..c1c7c36 100644
--- a/arch/x86/mm/pgtable_32.c
+++ b/arch/x86/mm/pgtable_32.c
@@ -150,7 +150,7 @@ static int fixmaps;
 unsigned long __FIXADDR_TOP = 0xfffff000;
 EXPORT_SYMBOL(__FIXADDR_TOP);
 
-void __set_fixmap (enum fixed_addresses idx, unsigned long phys, pgprot_t flags)
+void __native_set_fixmap(enum fixed_addresses idx, pte_t pte)
 {
 	unsigned long address = __fix_to_virt(idx);
 
@@ -158,10 +158,15 @@ void __set_fixmap (enum fixed_addresses idx, unsigned long phys, pgprot_t flags)
 		BUG();
 		return;
 	}
-	set_pte_vaddr(address, pfn_pte(phys >> PAGE_SHIFT, flags));
+	set_pte_vaddr(address, pte);
 	fixmaps++;
 }
 
+void native_set_fixmap(enum fixed_addresses idx, unsigned long phys, pgprot_t flags)
+{
+	__native_set_fixmap(idx, pfn_pte(phys >> PAGE_SHIFT, flags));
+}
+
 /**
  * reserve_top_address - reserves a hole in the top of kernel address space
  * @reserve - size of hole to reserve
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 907567d..22e0d41 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -965,6 +965,32 @@ static unsigned xen_patch(u8 type, u16 clobbers, void *insnbuf,
 	return ret;
 }
 
+static void xen_set_fixmap(unsigned idx, unsigned long phys, pgprot_t prot)
+{
+	pte_t pte;
+
+	phys >>= PAGE_SHIFT;
+
+	switch (idx) {
+#ifdef CONFIG_X86_F00F_BUG
+	case FIX_F00F_IDT:
+#endif
+	case FIX_WP_TEST:
+	case FIX_VDSO:
+#ifdef CONFIG_X86_LOCAL_APIC
+	case FIX_APIC_BASE:	/* maps dummy local APIC */
+#endif
+		pte = pfn_pte(phys, prot);
+		break;
+
+	default:
+		pte = mfn_pte(phys, prot);
+		break;
+	}
+
+	__native_set_fixmap(idx, pte);
+}
+
 static const struct pv_info xen_info __initdata = {
 	.paravirt_enabled = 1,
 	.shared_kernel_pmd = 0,
@@ -1120,6 +1146,8 @@ static const struct pv_mmu_ops xen_mmu_ops __initdata = {
 		.enter = paravirt_enter_lazy_mmu,
 		.leave = xen_leave_lazy,
 	},
+
+	.set_fixmap = xen_set_fixmap,
 };
 
 #ifdef CONFIG_SMP
diff --git a/include/asm-x86/fixmap_32.h b/include/asm-x86/fixmap_32.h
index a7404d5..c2e450a 100644
--- a/include/asm-x86/fixmap_32.h
+++ b/include/asm-x86/fixmap_32.h
@@ -110,8 +110,17 @@ enum fixed_addresses {
 	__end_of_fixed_addresses
 };
 
-extern void __set_fixmap (enum fixed_addresses idx,
-					unsigned long phys, pgprot_t flags);
+void __native_set_fixmap(enum fixed_addresses idx, pte_t pte);
+void native_set_fixmap(enum fixed_addresses idx,
+		       unsigned long phys, pgprot_t flags);
+
+#ifndef CONFIG_PARAVIRT
+static inline void __set_fixmap(enum fixed_addresses idx,
+				unsigned long phys, pgprot_t flags)
+{
+	native_set_fixmap(idx, phys, flags);
+}
+#endif
 extern void reserve_top_address(unsigned long reserve);
 
 #define set_fixmap(idx, phys) \
diff --git a/include/asm-x86/paravirt.h b/include/asm-x86/paravirt.h
index 7d7070a..c7c4e34 100644
--- a/include/asm-x86/paravirt.h
+++ b/include/asm-x86/paravirt.h
@@ -272,6 +272,13 @@ struct pv_mmu_ops {
 #endif
 
 	struct pv_lazy_ops lazy_mode;
+
+	/* dom0 ops */
+
+	/* Sometimes the physical address is a pfn, and sometimes its
+	   an mfn.  We can tell which is which from the index. */
+	void (*set_fixmap)(unsigned /* enum fixed_addresses */ idx,
+			   unsigned long phys, pgprot_t flags);
 };
 
 /* This contains all the paravirt structures: we get a convenient
@@ -1235,6 +1242,12 @@ static inline void arch_flush_lazy_mmu_mode(void)
 	}
 }
 
+static inline void __set_fixmap(unsigned /* enum fixed_addresses */ idx,
+				unsigned long phys, pgprot_t flags)
+{
+	pv_mmu_ops.set_fixmap(idx, phys, flags);
+}
+
 void _paravirt_nop(void);
 #define paravirt_nop	((void *)_paravirt_nop)
 
-- 
1.5.4.1


linux-2.6-xen-0020-x86_64-Expose-set_pte_vaddr.patch:

--- NEW FILE linux-2.6-xen-0020-x86_64-Expose-set_pte_vaddr.patch ---
>From 80a61226ef219fd746a9a87e45b7cf4b708090a1 Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at redhat.com>
Date: Mon, 3 Mar 2008 15:03:42 -0300
Subject: [PATCH] x86_64: Expose set_pte_vaddr()

Re-name set_pte_pfn() to set_pte_vaddr(), taking a pte_t
rather than pfn/flags, and expose it.

This brings 32-bit closer to 64-bit.

Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
Signed-off-by: Mark McLoughlin <markmc at redhat.com>
---
 arch/x86/mm/init_64.c        |   13 ++++++-------
 include/asm-x86/pgtable_64.h |    4 ++++
 2 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
index 954a6d6..00628b5 100644
--- a/arch/x86/mm/init_64.c
+++ b/arch/x86/mm/init_64.c
@@ -121,15 +121,15 @@ static __init void *spp_getpage(void)
 	return ptr;
 }
 
-static __init void
-set_pte_phys(unsigned long vaddr, unsigned long phys, pgprot_t prot)
+void
+set_pte_vaddr(unsigned long vaddr, pte_t pteval)
 {
 	pgd_t *pgd;
 	pud_t *pud;
 	pmd_t *pmd;
-	pte_t *pte, new_pte;
+	pte_t *pte;
 
-	pr_debug("set_pte_phys %lx to %lx\n", vaddr, phys);
+	pr_debug("set_pte_phys %lx to %lx\n", vaddr, native_pte_val(pteval));
 
 	pgd = pgd_offset_k(vaddr);
 	if (pgd_none(*pgd)) {
@@ -156,13 +156,12 @@ set_pte_phys(unsigned long vaddr, unsigned long phys, pgprot_t prot)
 			return;
 		}
 	}
-	new_pte = pfn_pte(phys >> PAGE_SHIFT, prot);
 
 	pte = pte_offset_kernel(pmd, vaddr);
 	if (!pte_none(*pte) &&
-	    pte_val(*pte) != (pte_val(new_pte) & __supported_pte_mask))
+	    pte_val(*pte) != (pte_val(pteval) & __supported_pte_mask))
 		pte_ERROR(*pte);
-	set_pte(pte, new_pte);
+	set_pte(pte, pteval);
 
 	/*
 	 * It's enough to flush this one mapping.
diff --git a/include/asm-x86/pgtable_64.h b/include/asm-x86/pgtable_64.h
index 0a0b77b..c9352fe 100644
--- a/include/asm-x86/pgtable_64.h
+++ b/include/asm-x86/pgtable_64.h
@@ -267,6 +267,10 @@ extern void cleanup_highmap(void);
    (((o) & (1UL << (__VIRTUAL_MASK_SHIFT-1))) ? ((o) | (~__VIRTUAL_MASK)) : (o))
 
 #define __HAVE_ARCH_PTE_SAME
+
+/* Install a pte for a particular vaddr in kernel space. */
+void set_pte_vaddr(unsigned long vaddr, pte_t pte);
+
 #endif /* !__ASSEMBLY__ */
 
 #endif /* _X86_64_PGTABLE_H */
-- 
1.5.4.1


linux-2.6-xen-0021-x86_64-Split-set_pte_vaddr.patch:

--- NEW FILE linux-2.6-xen-0021-x86_64-Split-set_pte_vaddr.patch ---
>From 95bd8587618fed8f5aec4ca9e0601070c78a4a37 Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at redhat.com>
Date: Fri, 8 Feb 2008 12:41:04 -0200
Subject: [PATCH] x86_64: Split set_pte_vaddr()

We will need to set a pte on l3_user_pgt. Extract set_pte_vaddr_pud()
from set_pte_vaddr(), that will accept the l3 page table as
parameter.

This change should be a no-op for existing code.

Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
Signed-off-by: Mark McLoughlin <markmc at redhat.com>
---
 arch/x86/mm/init_64.c |   33 +++++++++++++++++++++------------
 1 files changed, 21 insertions(+), 12 deletions(-)

diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
index 00628b5..65d2a75 100644
--- a/arch/x86/mm/init_64.c
+++ b/arch/x86/mm/init_64.c
@@ -121,23 +121,14 @@ static __init void *spp_getpage(void)
 	return ptr;
 }
 
-void
-set_pte_vaddr(unsigned long vaddr, pte_t pteval)
+static void
+set_pte_vaddr_pud(pud_t *pud_page, unsigned long vaddr, pte_t pteval)
 {
-	pgd_t *pgd;
 	pud_t *pud;
 	pmd_t *pmd;
 	pte_t *pte;
 
-	pr_debug("set_pte_phys %lx to %lx\n", vaddr, native_pte_val(pteval));
-
-	pgd = pgd_offset_k(vaddr);
-	if (pgd_none(*pgd)) {
-		printk(KERN_ERR
-			"PGD FIXMAP MISSING, it should be setup in head.S!\n");
-		return;
-	}
-	pud = pud_offset(pgd, vaddr);
+	pud = pud_page + pud_index(vaddr);
 	if (pud_none(*pud)) {
 		pmd = (pmd_t *) spp_getpage();
 		set_pud(pud, __pud(__pa(pmd) | _KERNPG_TABLE | _PAGE_USER));
@@ -170,6 +161,24 @@ set_pte_vaddr(unsigned long vaddr, pte_t pteval)
 	__flush_tlb_one(vaddr);
 }
 
+void
+set_pte_vaddr(unsigned long vaddr, pte_t pteval)
+{
+	pgd_t *pgd;
+	pud_t *pud_page;
+
+	pr_debug("set_pte_vaddr %lx to %lx\n", vaddr, native_pte_val(pteval));
+
+	pgd = pgd_offset_k(vaddr);
+	if (pgd_none(*pgd)) {
+		printk(KERN_ERR
+			"PGD FIXMAP MISSING, it should be setup in head.S!\n");
+		return;
+	}
+	pud_page = (pud_t*)pgd_page_vaddr(*pgd);
+	set_pte_vaddr_pud(pud_page, vaddr, pteval);
+}
+
 /*
  * The head.S code sets up the kernel high mapping:
  *
-- 
1.5.4.1


linux-2.6-xen-0022-x86_64-Add-clear_fixmap.patch:

--- NEW FILE linux-2.6-xen-0022-x86_64-Add-clear_fixmap.patch ---
>From 9e7b6dbea01227d1baa42f3aa6a4ac46769996d3 Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at redhat.com>
Date: Mon, 3 Mar 2008 16:31:57 -0300
Subject: [PATCH] x86_64: Add clear_fixmap()

Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
Signed-off-by: Mark McLoughlin <markmc at redhat.com>
---
 include/asm-x86/fixmap_64.h |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/include/asm-x86/fixmap_64.h b/include/asm-x86/fixmap_64.h
index 70ddb21..e205dc0 100644
--- a/include/asm-x86/fixmap_64.h
+++ b/include/asm-x86/fixmap_64.h
@@ -61,6 +61,9 @@ extern void __set_fixmap (enum fixed_addresses idx,
 #define set_fixmap_nocache(idx, phys) \
 		__set_fixmap(idx, phys, PAGE_KERNEL_NOCACHE)
 
+#define clear_fixmap(idx) \
+		__set_fixmap(idx, 0, __pgprot(0))
+
 #define FIXADDR_TOP	(VSYSCALL_END-PAGE_SIZE)
 #define FIXADDR_SIZE	(__end_of_fixed_addresses << PAGE_SHIFT)
 #define FIXADDR_START	(FIXADDR_TOP - FIXADDR_SIZE)
-- 
1.5.4.1


linux-2.6-xen-0023-xen-x86_64-Make-set_fixmap-a-paravirt-op-on-64-bi.patch:

--- NEW FILE linux-2.6-xen-0023-xen-x86_64-Make-set_fixmap-a-paravirt-op-on-64-bi.patch ---
>From 9ffd636430b3f41cf47fdce071ae8b0c2907c3ba Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at redhat.com>
Date: Mon, 3 Mar 2008 14:36:59 -0300
Subject: [PATCH] xen x86_64: Make set_fixmap() a paravirt op on 64-bit

Make set_fixmap() a paravirt op on 64-bit.

This should be unified with 32-bit later.

Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
---
 arch/x86/mm/init_64.c       |   10 ++++++++--
 include/asm-x86/fixmap_64.h |   13 +++++++++++--
 2 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
index 65d2a75..0a0307a 100644
--- a/arch/x86/mm/init_64.c
+++ b/arch/x86/mm/init_64.c
@@ -209,7 +209,7 @@ void __init cleanup_highmap(void)
 
 /* NOTE: this is meant to be run only at boot */
 void __init
-__set_fixmap(enum fixed_addresses idx, unsigned long phys, pgprot_t prot)
+__native_set_fixmap(enum fixed_addresses idx, pte_t pte)
 {
 	unsigned long address = __fix_to_virt(idx);
 
@@ -217,7 +217,13 @@ __set_fixmap(enum fixed_addresses idx, unsigned long phys, pgprot_t prot)
 		printk(KERN_ERR "Invalid __set_fixmap\n");
 		return;
 	}
-	set_pte_phys(address, phys, prot);
+	set_pte_vaddr(address, pte);
+}
+
+void __init
+native_set_fixmap(enum fixed_addresses idx, unsigned long phys, pgprot_t prot)
+{
+	__native_set_fixmap(idx, pfn_pte(phys >> PAGE_SHIFT, prot));
 }
 
 static unsigned long __initdata table_start;
diff --git a/include/asm-x86/fixmap_64.h b/include/asm-x86/fixmap_64.h
index e205dc0..45beeb1 100644
--- a/include/asm-x86/fixmap_64.h
+++ b/include/asm-x86/fixmap_64.h
@@ -50,8 +50,17 @@ enum fixed_addresses {
 	__end_of_fixed_addresses
 };
 
-extern void __set_fixmap (enum fixed_addresses idx,
-					unsigned long phys, pgprot_t flags);
+void __native_set_fixmap(enum fixed_addresses idx, pte_t pte);
+void native_set_fixmap(enum fixed_addresses idx,
+		       unsigned long phys, pgprot_t flags);
+
+#ifndef CONFIG_PARAVIRT
+static inline void __set_fixmap(enum fixed_addresses idx,
+				unsigned long phys, pgprot_t flags)
+{
+	native_set_fixmap(idx, phys, flags);
+}
+#endif
 
 #define set_fixmap(idx, phys) \
 		__set_fixmap(idx, phys, PAGE_KERNEL)
-- 
1.5.4.1


linux-2.6-xen-0024-xen-x86_64-Hack-to-set-vsyscall-pages-on-user-space.patch:

--- NEW FILE linux-2.6-xen-0024-xen-x86_64-Hack-to-set-vsyscall-pages-on-user-space.patch ---
>From e02c5fd18039fb302cac2f5e717fd77ac408a93d Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at redhat.com>
Date: Fri, 8 Feb 2008 12:48:51 -0200
Subject: [PATCH] xen x86_64: Hack to set vsyscall pages on user-space pagetables also (FIXME)

This should be done using pvops.

Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
---
 arch/x86/mm/init_64.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
index 0a0307a..b5f1f6e 100644
--- a/arch/x86/mm/init_64.c
+++ b/arch/x86/mm/init_64.c
@@ -218,6 +218,12 @@ __native_set_fixmap(enum fixed_addresses idx, pte_t pte)
 		return;
 	}
 	set_pte_vaddr(address, pte);
+
+#ifdef CONFIG_XEN
+	/*FIXME: move this to xen_set_pte() */
+	if (idx == VSYSCALL_FIRST_PAGE)
+		set_pte_vaddr_pud(level3_user_pgt, address, pte);
+#endif
 }
 
 void __init
-- 
1.5.4.1


linux-2.6-xen-0025-Handle-VSYSCALL_FIRST_PAGE-on-xen_set_pte.patch:

--- NEW FILE linux-2.6-xen-0025-Handle-VSYSCALL_FIRST_PAGE-on-xen_set_pte.patch ---
>From 8ff4077f4d20cf1f19bbd99cd4defba9b4dc3ed4 Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at redhat.com>
Date: Fri, 7 Mar 2008 18:53:28 -0300
Subject: [PATCH] Handle VSYSCALL_FIRST_PAGE on xen_set_pte()

Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
---
 arch/x86/xen/enlighten.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 22e0d41..bcb8835 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -980,6 +980,9 @@ static void xen_set_fixmap(unsigned idx, unsigned long phys, pgprot_t prot)
 #ifdef CONFIG_X86_LOCAL_APIC
 	case FIX_APIC_BASE:	/* maps dummy local APIC */
 #endif
+#ifdef CONFIG_X86_64
+	case VSYSCALL_FIRST_PAGE:
+#endif
 		pte = pfn_pte(phys, prot);
 		break;
 
-- 
1.5.4.1


linux-2.6-xen-0026-DMI-Define-dmi_scan_machine-as-no-op-if-CONFIG_DM.patch:

--- NEW FILE linux-2.6-xen-0026-DMI-Define-dmi_scan_machine-as-no-op-if-CONFIG_DM.patch ---
>From aefef5f3805187a92c6eda02be32bf4e1a0514e1 Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at monstro.(none)>
Date: Thu, 28 Feb 2008 12:16:04 -0300
Subject: [PATCH] DMI: Define dmi_scan_machine() as no-op if CONFIG_DMI is not set

This allows arch/x86 to build if CONFIG_DMI can be disabled in the
future.

Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
Signed-off-by: Mark McLoughlin <markmc at redhat.com>
---
 include/linux/dmi.h |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/include/linux/dmi.h b/include/linux/dmi.h
index 325acdf..96a9f0f 100644
--- a/include/linux/dmi.h
+++ b/include/linux/dmi.h
@@ -86,6 +86,7 @@ extern int dmi_walk(void (*decode)(const struct dmi_header *));
 
 #else
 
+static inline void dmi_scan_machine(void) { }
 static inline int dmi_check_system(const struct dmi_system_id *list) { return 0; }
 static inline const char * dmi_get_system_info(int field) { return NULL; }
 static inline const struct dmi_device * dmi_find_device(int type, const char *name,
-- 
1.5.4.1


linux-2.6-xen-0027-ACPI-thermal-Compile-without-CONFIG_DMI.patch:

--- NEW FILE linux-2.6-xen-0027-ACPI-thermal-Compile-without-CONFIG_DMI.patch ---
>From ff628e3270dbe965a0069e9b8c878c385d063a7e Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at redhat.com>
Date: Tue, 4 Mar 2008 16:59:48 -0300
Subject: [PATCH] ACPI: thermal: Compile without CONFIG_DMI

Add a macro for thermal_dmi_table to allow the driver to build if
CONFIG_DMI is not set.

Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
Signed-off-by: Mark McLoughlin <markmc at redhat.com>
---
 drivers/acpi/thermal.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/drivers/acpi/thermal.c b/drivers/acpi/thermal.c
index 1bcecc7..f044a66 100644
--- a/drivers/acpi/thermal.c
+++ b/drivers/acpi/thermal.c
@@ -1785,6 +1785,11 @@ static struct dmi_system_id thermal_dmi_table[] __initdata = {
 	},
 	{}
 };
+#else
+
+/* Just that the dmi_check_system() call below compiles */
+#define thermal_dmi_table NULL
+
 #endif /* CONFIG_DMI */
 
 static int __init acpi_thermal_init(void)
-- 
1.5.4.1


linux-2.6-xen-0028-xen-x86_64-Remove-the-640K-1M-hole-and-disable-DMI.patch:

--- NEW FILE linux-2.6-xen-0028-xen-x86_64-Remove-the-640K-1M-hole-and-disable-DMI.patch ---
>From 2bfa7c55eeb251076a7be7d8580f9e4ffc7c7222 Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at redhat.com>
Date: Wed, 5 Mar 2008 11:48:34 -0300
Subject: [PATCH] xen x86_64: Remove the 640K-1M hole and disable DMI (TEMPORARY)

On 64-bit, we don't have the LOWMEM and HIGHMEM macros. As I think
using the LOWMEM and HIGHMEM macros on 64-bit would be ugly, I am
disabling the hole temporarily, until I understand the DMI problem
properly.

Instead, for now, just disable CONFIG_DMI under CONFIG_XEN.

Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
Signed-off-by: Mark McLoughlin <markmc at redhat.com>
---
 arch/x86/Kconfig     |    2 +-
 arch/x86/xen/setup.c |    4 ++++
 2 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 6c70fed..3daae55 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -89,7 +89,7 @@ config ARCH_MAY_HAVE_PC_FDC
 	def_bool y
 
 config DMI
-	def_bool y
+	def_bool !XEN
 
 config RWSEM_GENERIC_SPINLOCK
 	def_bool !X86_XADD
diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index 2341492..d42586d 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -38,8 +38,12 @@ char * __init xen_memory_setup(void)
 	unsigned long max_pfn = xen_start_info->nr_pages;
 
 	e820.nr_map = 0;
+#ifdef CONFIG_X86_32
 	add_memory_region(0, LOWMEMSIZE(), E820_RAM);
 	add_memory_region(HIGH_MEMORY, PFN_PHYS(max_pfn)-HIGH_MEMORY, E820_RAM);
+#else
+	add_memory_region(0, PFN_PHYS(max_pfn), E820_RAM);
+#endif
 
 	return "Xen";
 }
-- 
1.5.4.1


linux-2.6-xen-0029-xen-x86_64-Add-update_va_mapping-64-bit-code.patch:

--- NEW FILE linux-2.6-xen-0029-xen-x86_64-Add-update_va_mapping-64-bit-code.patch ---
>From e8e2242ec2a11a4d7e3d3d5c57f500a5653ebde3 Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at Rawhide-64.localdomain>
Date: Tue, 27 Nov 2007 14:50:24 -0200
Subject: [PATCH] xen x86_64: Add update_va_mapping 64-bit code

Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
---
 include/asm-x86/xen/hypercall.h  |   44 ++++++++++++++++++++++++++++++-------
 include/asm-x86/xen/hypervisor.h |    3 --
 2 files changed, 35 insertions(+), 12 deletions(-)

diff --git a/include/asm-x86/xen/hypercall.h b/include/asm-x86/xen/hypercall.h
index b0c518c..1242e5b 100644
--- a/include/asm-x86/xen/hypercall.h
+++ b/include/asm-x86/xen/hypercall.h
@@ -120,6 +120,15 @@ extern struct { char _entry[32]; } hypercall_page[];
 	(type)__res;							\
 })
 
+#if defined(CONFIG_X86_64)
+#define MULTI_UVMFLAGS_INDEX 2
+#define MULTI_UVMDOMID_INDEX 3
+#else
+#define MULTI_UVMFLAGS_INDEX 3
+#define MULTI_UVMDOMID_INDEX 4
+#endif
+
+
 static inline int
 HYPERVISOR_set_trap_table(struct trap_info *table)
 {
@@ -217,12 +226,17 @@ static inline int
 HYPERVISOR_update_va_mapping(unsigned long va, pte_t new_val,
 			     unsigned long flags)
 {
+#ifdef CONFIG_X86_64
+	return _hypercall3(int, update_va_mapping, va,
+			   new_val.pte, flags);
+#else
 	unsigned long pte_hi = 0;
 #ifdef CONFIG_X86_PAE
 	pte_hi = new_val.pte_high;
 #endif
 	return _hypercall4(int, update_va_mapping, va,
 			   new_val.pte_low, pte_hi, flags);
+#endif
 }
 
 static inline int
@@ -275,12 +289,17 @@ static inline int
 HYPERVISOR_update_va_mapping_otherdomain(unsigned long va, pte_t new_val,
 					 unsigned long flags, domid_t domid)
 {
+#ifdef CONFIG_X86_64
+	return _hypercall4(int, update_va_mapping_otherdomain, va,
+			   new_val.pte, flags, domid);
+#else
 	unsigned long pte_hi = 0;
 #ifdef CONFIG_X86_PAE
 	pte_hi = new_val.pte_high;
 #endif
 	return _hypercall5(int, update_va_mapping_otherdomain, va,
 			   new_val.pte_low, pte_hi, flags, domid);
+#endif
 }
 
 static inline int
@@ -314,14 +333,18 @@ MULTI_update_va_mapping(struct multicall_entry *mcl, unsigned long va,
 {
 	mcl->op = __HYPERVISOR_update_va_mapping;
 	mcl->args[0] = va;
-#ifdef CONFIG_X86_PAE
-	mcl->args[1] = new_val.pte_low;
-	mcl->args[2] = new_val.pte_high;
+
+#ifdef CONFIG_X86_64
+	mcl->args[1] = new_val.pte;
 #else
 	mcl->args[1] = new_val.pte_low;
+#  ifdef CONFIG_X86_PAE
+	mcl->args[2] = new_val.pte_high;
+#  else
 	mcl->args[2] = 0;
+#  endif
 #endif
-	mcl->args[3] = flags;
+	mcl->args[MULTI_UVMFLAGS_INDEX] = flags;
 }
 
 static inline void
@@ -341,15 +364,18 @@ MULTI_update_va_mapping_otherdomain(struct multicall_entry *mcl, unsigned long v
 {
 	mcl->op = __HYPERVISOR_update_va_mapping_otherdomain;
 	mcl->args[0] = va;
-#ifdef CONFIG_X86_PAE
-	mcl->args[1] = new_val.pte_low;
-	mcl->args[2] = new_val.pte_high;
+#ifdef CONFIG_X86_64
+	mcl->args[1] = new_val.pte;
 #else
 	mcl->args[1] = new_val.pte_low;
+#  ifdef CONFIG_X86_PAE
+	mcl->args[2] = new_val.pte_high;
+#  else
 	mcl->args[2] = 0;
+#  endif
 #endif
-	mcl->args[3] = flags;
-	mcl->args[4] = domid;
+	mcl->args[MULTI_UVMFLAGS_INDEX] = flags;
+	mcl->args[MULTI_UVMDOMID_INDEX] = domid;
 }
 
 static inline void
diff --git a/include/asm-x86/xen/hypervisor.h b/include/asm-x86/xen/hypervisor.h
index 8e15dd2..49a5e24 100644
--- a/include/asm-x86/xen/hypervisor.h
+++ b/include/asm-x86/xen/hypervisor.h
@@ -65,9 +65,6 @@ extern void force_evtchn_callback(void);
 u64 jiffies_to_st(unsigned long jiffies);
 
 
-#define MULTI_UVMFLAGS_INDEX 3
-#define MULTI_UVMDOMID_INDEX 4
-
 #define is_running_on_xen()	(xen_start_info ? 1 : 0)
 
 #endif /* __HYPERVISOR_H__ */
-- 
1.5.4.1


linux-2.6-xen-0030-x86_64-Add-sync_cmpxchg.patch:

--- NEW FILE linux-2.6-xen-0030-x86_64-Add-sync_cmpxchg.patch ---
>From d08e0218d468cc05b38d20a3aa77795f0dfdadfa Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at Rawhide-64.localdomain>
Date: Tue, 27 Nov 2007 18:08:41 -0200
Subject: [PATCH] x86_64: Add sync_cmpxchg()

Add a sync_cmpxchg() for x86_64, including a sync_cmpxchg64()
implementation.

Needed for Xen's grant table implementation.

Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
Signed-off-by: Mark McLoughlin <markmc at redhat.com>
---
 include/asm-x86/cmpxchg_64.h |   47 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 47 insertions(+), 0 deletions(-)

diff --git a/include/asm-x86/cmpxchg_64.h b/include/asm-x86/cmpxchg_64.h
index 56f5b41..1556f64 100644
--- a/include/asm-x86/cmpxchg_64.h
+++ b/include/asm-x86/cmpxchg_64.h
@@ -91,6 +91,45 @@ static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old,
 	return old;
 }
 
+/*
+ * Always use locked operations when touching memory shared with a
+ * hypervisor, since the system may be SMP even if the guest kernel
+ * isn't.
+ */
+static inline unsigned long __sync_cmpxchg(volatile void *ptr,
+					    unsigned long old,
+					    unsigned long new, int size)
+{
+	unsigned long prev;
+	switch (size) {
+	case 1:
+		__asm__ __volatile__("lock; cmpxchgb %b1,%2"
+				     : "=a"(prev)
+				     : "q"(new), "m"(*__xg(ptr)), "0"(old)
+				     : "memory");
+		return prev;
+	case 2:
+		__asm__ __volatile__("lock; cmpxchgw %w1,%2"
+				     : "=a"(prev)
+				     : "r"(new), "m"(*__xg(ptr)), "0"(old)
+				     : "memory");
+		return prev;
+	case 4:
+		__asm__ __volatile__("lock; cmpxchgl %k1,%2"
+				     : "=a"(prev)
+				     : "r"(new), "m"(*__xg(ptr)), "0"(old)
+				     : "memory");
+		return prev;
+	case 8:
+		__asm__ __volatile__("lock; cmpxchgq %1,%2"
+				     : "=a"(prev)
+				     : "r"(new), "m"(*__xg(ptr)), "0"(old)
+				     : "memory");
+		return prev;
+	}
+	return old;
+}
+
 static inline unsigned long __cmpxchg_local(volatile void *ptr,
 			unsigned long old, unsigned long new, int size)
 {
@@ -132,6 +171,14 @@ static inline unsigned long __cmpxchg_local(volatile void *ptr,
 	BUILD_BUG_ON(sizeof(*(ptr)) != 8);				\
 	cmpxchg((ptr), (o), (n));					\
   })
+#define sync_cmpxchg(ptr, o, n)						\
+	((__typeof__(*(ptr)))__sync_cmpxchg((ptr), (unsigned long)(o),	\
+					(unsigned long)(n), sizeof(*(ptr))))
+#define sync_cmpxchg64(ptr, o, n)					\
+  ({									\
+	BUILD_BUG_ON(sizeof(*(ptr)) != 8);				\
+	sync_cmpxchg((ptr), (o), (n));					\
+  })
 #define cmpxchg_local(ptr, o, n)					\
 	((__typeof__(*(ptr)))__cmpxchg_local((ptr), (unsigned long)(o),	\
 					(unsigned long)(n), sizeof(*(ptr))))
-- 
1.5.4.1


linux-2.6-xen-0031-xen-x86_64-Implement-HYPERVISOR-MULTI-_update_desc.patch:

--- NEW FILE linux-2.6-xen-0031-xen-x86_64-Implement-HYPERVISOR-MULTI-_update_desc.patch ---
>From 980347f0206fbec694b1a0b6609e8509c7b71db7 Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at Rawhide-64.localdomain>
Date: Tue, 27 Nov 2007 18:09:08 -0200
Subject: [PATCH] xen x86_64: Implement {HYPERVISOR,MULTI}_update_descriptor()

Add 64-bit versions of HYPERVISOR_update_descriptor() and
MULTI_update_descriptor().

Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
Signed-off-by: Mark McLoughlin <markmc at redhat.com>
---
 include/asm-x86/xen/hypercall.h |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/include/asm-x86/xen/hypercall.h b/include/asm-x86/xen/hypercall.h
index 1242e5b..cbf3d52 100644
--- a/include/asm-x86/xen/hypercall.h
+++ b/include/asm-x86/xen/hypercall.h
@@ -204,11 +204,20 @@ HYPERVISOR_get_debugreg(int reg)
 	return _hypercall1(unsigned long, get_debugreg, reg);
 }
 
+#ifdef CONFIG_X86_64
+static inline int
+HYPERVISOR_update_descriptor(
+	unsigned long ma, unsigned long word)
+{
+	return _hypercall2(int, update_descriptor, ma, word);
+}
+#else
 static inline int
 HYPERVISOR_update_descriptor(u64 ma, u64 desc)
 {
 	return _hypercall4(int, update_descriptor, ma, ma>>32, desc, desc>>32);
 }
+#endif
 
 static inline int
 HYPERVISOR_memory_op(unsigned int cmd, void *arg)
@@ -383,10 +392,16 @@ MULTI_update_descriptor(struct multicall_entry *mcl, u64 maddr,
 			struct desc_struct desc)
 {
 	mcl->op = __HYPERVISOR_update_descriptor;
+#ifdef CONFIG_X86_64
+	BUG_ON(sizeof(desc) != sizeof(mcl->args[2]));
+	mcl->args[0] = maddr;
+	mcl->args[1] = *((unsigned long *)&desc);
+#else
 	mcl->args[0] = maddr;
 	mcl->args[1] = maddr >> 32;
 	mcl->args[2] = desc.a;
 	mcl->args[3] = desc.b;
+#endif
 }
 
 static inline void
-- 
1.5.4.1


linux-2.6-xen-0032-xen-x86_64-Add-hacky-64-bit-x86_-read-write-_percpu.patch:

--- NEW FILE linux-2.6-xen-0032-xen-x86_64-Add-hacky-64-bit-x86_-read-write-_percpu.patch ---
>From 70c28df80f602388b3fb7356987bddcd32eb3071 Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at Rawhide-64.localdomain>
Date: Tue, 27 Nov 2007 18:21:29 -0200
Subject: [PATCH] xen x86_64: Add hacky 64-bit x86_{read,write}_percpu()

It isn't implemented on x86_64 yet, so I am simply using __get_cpu_var().

Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
---
 include/asm-x86/percpu.h |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/include/asm-x86/percpu.h b/include/asm-x86/percpu.h
index 0dec00f..b80af66 100644
--- a/include/asm-x86/percpu.h
+++ b/include/asm-x86/percpu.h
@@ -22,6 +22,10 @@
 
 DECLARE_PER_CPU(struct x8664_pda, pda);
 
+/* x86_read_percpu & friends */
+#define x86_read_percpu(var) __get_cpu_var(var)
+#define x86_write_percpu(var,val) (__get_cpu_var(var) = (val))
+
 #else /* CONFIG_X86_64 */
 
 #ifdef __ASSEMBLY__
-- 
1.5.4.1


linux-2.6-xen-0033-xen-x86_64-Use-x86_read_percpu-only-to-refer-to-a.patch:

--- NEW FILE linux-2.6-xen-0033-xen-x86_64-Use-x86_read_percpu-only-to-refer-to-a.patch ---
>From 3f4324799c416f83f73676275f75c00f4903d214 Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at Rawhide-64.localdomain>
Date: Tue, 27 Nov 2007 19:25:50 -0200
Subject: [PATCH] xen x86_64: Use x86_read_percpu() only to refer to a variable name

Our x86_read_percpu() implementation doesn't handle struct
dereferences.

Signed-off-by: Eduardo Habkost <ehabkost at Rawhide-64.localdomain>
---
 arch/x86/xen/enlighten.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index bcb8835..c1debed 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -625,7 +625,11 @@ static unsigned long xen_read_cr2(void)
 
 static unsigned long xen_read_cr2_direct(void)
 {
+#ifdef CONFIG_X86_32
 	return x86_read_percpu(xen_vcpu_info.arch.cr2);
+#else
+	return x86_read_percpu(xen_vcpu_info).arch.cr2;
+#endif
 }
 
 static void xen_write_cr4(unsigned long cr4)
-- 
1.5.4.1


linux-2.6-xen-0034-Better-implementation-of-pte-functions.patch:

--- NEW FILE linux-2.6-xen-0034-Better-implementation-of-pte-functions.patch ---
>From 5904d00c647b3f08ee4262420623692094dcb8d2 Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at Rawhide-64.localdomain>
Date: Tue, 27 Nov 2007 19:26:30 -0200
Subject: [PATCH] Better implementation of pte functions

Signed-off-by: Eduardo Habkost <ehabkost at Rawhide-64.localdomain>
---
 include/xen/page.h |   22 +++++++++-------------
 1 files changed, 9 insertions(+), 13 deletions(-)

diff --git a/include/xen/page.h b/include/xen/page.h
index 031ef22..4456566 100644
--- a/include/xen/page.h
+++ b/include/xen/page.h
@@ -143,27 +143,23 @@ static inline void set_phys_to_machine(unsigned long pfn, unsigned long mfn)
 
 static inline pte_t mfn_pte(unsigned long page_nr, pgprot_t pgprot)
 {
-	pte_t pte;
-
-	pte.pte_high = (page_nr >> (32 - PAGE_SHIFT)) |
-		(pgprot_val(pgprot) >> 32);
-	pte.pte_high &= (__supported_pte_mask >> 32);
-	pte.pte_low = ((page_nr << PAGE_SHIFT) | pgprot_val(pgprot));
-	pte.pte_low &= __supported_pte_mask;
-
-	return pte;
+	pteval_t val;
+	
+	val = (page_nr << PAGE_SHIFT) | pgprot_val(pgprot);
+	val &= __supported_pte_mask;
+	return native_make_pte(val);
 }
 
-static inline unsigned long long pte_val_ma(pte_t x)
+static inline pteval_t pte_val_ma(pte_t x)
 {
-	return x.pte;
+	return native_pte_val(x);
 }
 #define pmd_val_ma(v) ((v).pmd)
 #define pud_val_ma(v) ((v).pgd.pgd)
-#define __pte_ma(x)	((pte_t) { .pte = (x) })
+#define __pte_ma(x)	(native_make_pte(x))
 #define __pmd_ma(x)	((pmd_t) { (x) } )
 #else  /* !X86_PAE */
-#define pte_mfn(_pte) ((_pte).pte_low >> PAGE_SHIFT)
+#define pte_mfn(_pte) ((native_pte_val(_pte) & __PHYSICAL_MASK) >> PAGE_SHIFT)
 #define mfn_pte(pfn, prot)	__pte_ma(((pfn) << PAGE_SHIFT) | pgprot_val(prot))
 #define pte_val_ma(x)	((x).pte)
 #define pmd_val_ma(v)	((v).pud.pgd.pgd)
-- 
1.5.4.1


linux-2.6-xen-0035-Add-FIX_PARAVIRT_BOOTAP-to-fixmap_64.h-too.patch:

--- NEW FILE linux-2.6-xen-0035-Add-FIX_PARAVIRT_BOOTAP-to-fixmap_64.h-too.patch ---
>From d9c8ebd25554738b1527e2aa4a5e16bdc3779bd4 Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at Rawhide-64.localdomain>
Date: Tue, 27 Nov 2007 19:42:21 -0200
Subject: [PATCH] Add FIX_PARAVIRT_BOOTAP to fixmap_64.h too

Signed-off-by: Eduardo Habkost <ehabkost at Rawhide-64.localdomain>
---
 include/asm-x86/fixmap_64.h |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/include/asm-x86/fixmap_64.h b/include/asm-x86/fixmap_64.h
index 45beeb1..0ffb60c 100644
--- a/include/asm-x86/fixmap_64.h
+++ b/include/asm-x86/fixmap_64.h
@@ -44,6 +44,9 @@ enum fixed_addresses {
 	FIX_IO_APIC_BASE_END = FIX_IO_APIC_BASE_0 + MAX_IO_APICS-1,
 	FIX_EFI_IO_MAP_LAST_PAGE,
 	FIX_EFI_IO_MAP_FIRST_PAGE = FIX_EFI_IO_MAP_LAST_PAGE+MAX_EFI_IO_PAGES-1,
+#ifdef CONFIG_PARAVIRT
+	FIX_PARAVIRT_BOOTMAP,
+#endif
 #ifdef CONFIG_PROVIDE_OHCI1394_DMA_INIT
 	FIX_OHCI1394_BASE,
 #endif
-- 
1.5.4.1


linux-2.6-xen-0036-Add-gate_offset-and-gate_segment-macros.patch:

--- NEW FILE linux-2.6-xen-0036-Add-gate_offset-and-gate_segment-macros.patch ---
>From 6a6aafcbc58ecddebfef2a947fee46c01c686e20 Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at Rawhide-64.localdomain>
Date: Tue, 27 Nov 2007 19:42:54 -0200
Subject: [PATCH] Add gate_offset() and gate_segment() macros

For calculating the offset from struct gate_struct fields.

Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
---
 include/asm-x86/desc_defs.h |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/include/asm-x86/desc_defs.h b/include/asm-x86/desc_defs.h
index e33f078..dbf5e19 100644
--- a/include/asm-x86/desc_defs.h
+++ b/include/asm-x86/desc_defs.h
@@ -73,10 +73,14 @@ struct ldttss_desc64 {
 typedef struct gate_struct64 gate_desc;
 typedef struct ldttss_desc64 ldt_desc;
 typedef struct ldttss_desc64 tss_desc;
+#define gate_offset(g) ((g).offset_low | ((unsigned long)(g).offset_middle << 16) | ((unsigned long)(g).offset_high << 32))
+#define gate_segment(g) ((g).segment)
 #else
 typedef struct desc_struct gate_desc;
 typedef struct desc_struct ldt_desc;
 typedef struct desc_struct tss_desc;
+#define gate_offset(g) get_desc_limit(&(g))
+#define gate_segment(g) get_desc_base(&(g))
 #endif
 
 struct desc_ptr {
-- 
1.5.4.1


linux-2.6-xen-0037-xen_write_idt_entry-and-cvt_gate_to_trap.patch:

--- NEW FILE linux-2.6-xen-0037-xen_write_idt_entry-and-cvt_gate_to_trap.patch ---
>From b26b61bab848c745db7b7e20606d4f593b018feb Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at Rawhide-64.localdomain>
Date: Tue, 27 Nov 2007 19:43:41 -0200
Subject: [PATCH] xen_write_idt_entry() and cvt_gate_to_trap()

Changed to use the (to-be-)unified descriptor structs.

Signed-off-by: Eduardo Habkost <ehabkost at Rawhide-64.localdomain>
---
 arch/x86/xen/enlighten.c |   24 +++++++++---------------
 1 files changed, 9 insertions(+), 15 deletions(-)

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index c1debed..8f51827 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -386,23 +386,18 @@ static void xen_write_ldt_entry(struct desc_struct *dt, int entrynum,
 	preempt_enable();
 }
 
-static int cvt_gate_to_trap(int vector, u32 low, u32 high,
+static int cvt_gate_to_trap(int vector, const gate_desc *val,
 			    struct trap_info *info)
 {
-	u8 type, dpl;
-
-	type = (high >> 8) & 0x1f;
-	dpl = (high >> 13) & 3;
-
-	if (type != 0xf && type != 0xe)
+	if (val->type != 0xf && val->type != 0xe)
 		return 0;
 
 	info->vector = vector;
-	info->address = (high & 0xffff0000) | (low & 0x0000ffff);
-	info->cs = low >> 16;
-	info->flags = dpl;
+	info->address = gate_offset(*val);
+	info->cs = gate_segment(*val);
+	info->flags = val->dpl;
 	/* interrupt gates clear IF */
-	if (type == 0xe)
+	if (val->type == 0xe)
 		info->flags |= 4;
 
 	return 1;
@@ -429,11 +424,10 @@ static void xen_write_idt_entry(gate_desc *dt, int entrynum, const gate_desc *g)
 
 	if (p >= start && (p + 8) <= end) {
 		struct trap_info info[2];
-		u32 *desc = (u32 *)g;
 
 		info[1].address = 0;
 
-		if (cvt_gate_to_trap(entrynum, desc[0], desc[1], &info[0]))
+		if (cvt_gate_to_trap(entrynum, g, &info[0]))
 			if (HYPERVISOR_set_trap_table(info))
 				BUG();
 	}
@@ -450,9 +444,9 @@ static void xen_convert_trap_info(const struct desc_ptr *desc,
 	BUG_ON(count > 256);
 
 	for (in = out = 0; in < count; in++) {
-		const u32 *entry = (u32 *)(desc->address + in * 8);
+		gate_desc *entry = (gate_desc*)(desc->address) + in;
 
-		if (cvt_gate_to_trap(in, entry[0], entry[1], &traps[out]))
+		if (cvt_gate_to_trap(in, entry, &traps[out]))
 			out++;
 	}
 	traps[out].address = 0;
-- 
1.5.4.1


linux-2.6-xen-0038-typedefs-for-pte_val-and-friends.patch:

--- NEW FILE linux-2.6-xen-0038-typedefs-for-pte_val-and-friends.patch ---
>From 8aeabd290e1028de1efd9da4c2b956918e20182e Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at Rawhide-64.localdomain>
Date: Tue, 27 Nov 2007 20:09:43 -0200
Subject: [PATCH] typedefs for pte_val() and friends

Trying to reduce the #ifdef mess a bit.

Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
---
 arch/x86/xen/mmu.c |   20 ++++++++++----------
 arch/x86/xen/mmu.h |   23 +++++++----------------
 2 files changed, 17 insertions(+), 26 deletions(-)

diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
index 8660786..b974434 100644
--- a/arch/x86/xen/mmu.c
+++ b/arch/x86/xen/mmu.c
@@ -186,7 +186,7 @@ void xen_pmd_clear(pmd_t *pmdp)
 	xen_set_pmd(pmdp, __pmd(0));
 }
 
-unsigned long long xen_pte_val(pte_t pte)
+pteval_t xen_pte_val(pte_t pte)
 {
 	unsigned long long ret = 0;
 
@@ -198,7 +198,7 @@ unsigned long long xen_pte_val(pte_t pte)
 	return ret;
 }
 
-unsigned long long xen_pmd_val(pmd_t pmd)
+pmdval_t xen_pmd_val(pmd_t pmd)
 {
 	unsigned long long ret = pmd.pmd;
 	if (ret)
@@ -206,7 +206,7 @@ unsigned long long xen_pmd_val(pmd_t pmd)
 	return ret;
 }
 
-unsigned long long xen_pgd_val(pgd_t pgd)
+pgdval_t xen_pgd_val(pgd_t pgd)
 {
 	unsigned long long ret = pgd.pgd;
 	if (ret)
@@ -214,7 +214,7 @@ unsigned long long xen_pgd_val(pgd_t pgd)
 	return ret;
 }
 
-pte_t xen_make_pte(unsigned long long pte)
+pte_t xen_make_pte(pteval_t pte)
 {
 	if (pte & _PAGE_PRESENT) {
 		pte = phys_to_machine(XPADDR(pte)).maddr;
@@ -224,7 +224,7 @@ pte_t xen_make_pte(unsigned long long pte)
 	return (pte_t){ .pte = pte };
 }
 
-pmd_t xen_make_pmd(unsigned long long pmd)
+pmd_t xen_make_pmd(pmdval_t pmd)
 {
 	if (pmd & 1)
 		pmd = phys_to_machine(XPADDR(pmd)).maddr;
@@ -232,7 +232,7 @@ pmd_t xen_make_pmd(unsigned long long pmd)
 	return (pmd_t){ pmd };
 }
 
-pgd_t xen_make_pgd(unsigned long long pgd)
+pgd_t xen_make_pgd(pgdval_t pgd)
 {
 	if (pgd & _PAGE_PRESENT)
 		pgd = phys_to_machine(XPADDR(pgd)).maddr;
@@ -245,7 +245,7 @@ void xen_set_pte(pte_t *ptep, pte_t pte)
 	*ptep = pte;
 }
 
-unsigned long xen_pte_val(pte_t pte)
+pteval_t xen_pte_val(pte_t pte)
 {
 	unsigned long ret = pte.pte_low;
 
@@ -255,7 +255,7 @@ unsigned long xen_pte_val(pte_t pte)
 	return ret;
 }
 
-unsigned long xen_pgd_val(pgd_t pgd)
+pgdval_t xen_pgd_val(pgd_t pgd)
 {
 	unsigned long ret = pgd.pgd;
 	if (ret)
@@ -263,7 +263,7 @@ unsigned long xen_pgd_val(pgd_t pgd)
 	return ret;
 }
 
-pte_t xen_make_pte(unsigned long pte)
+pte_t xen_make_pte(pteval_t pte)
 {
 	if (pte & _PAGE_PRESENT) {
 		pte = phys_to_machine(XPADDR(pte)).maddr;
@@ -273,7 +273,7 @@ pte_t xen_make_pte(unsigned long pte)
 	return (pte_t){ pte };
 }
 
-pgd_t xen_make_pgd(unsigned long pgd)
+pgd_t xen_make_pgd(pgdval_t pgd)
 {
 	if (pgd & _PAGE_PRESENT)
 		pgd = phys_to_machine(XPADDR(pgd)).maddr;
diff --git a/arch/x86/xen/mmu.h b/arch/x86/xen/mmu.h
index b5e189b..ce425a4 100644
--- a/arch/x86/xen/mmu.h
+++ b/arch/x86/xen/mmu.h
@@ -37,15 +37,15 @@ void xen_exit_mmap(struct mm_struct *mm);
 void xen_pgd_pin(pgd_t *pgd);
 //void xen_pgd_unpin(pgd_t *pgd);
 
-#ifdef CONFIG_X86_PAE
-unsigned long long xen_pte_val(pte_t);
-unsigned long long xen_pmd_val(pmd_t);
-unsigned long long xen_pgd_val(pgd_t);
+pteval_t xen_pte_val(pte_t);
+pmdval_t xen_pmd_val(pmd_t);
+pgdval_t xen_pgd_val(pgd_t);
 
-pte_t xen_make_pte(unsigned long long);
-pmd_t xen_make_pmd(unsigned long long);
-pgd_t xen_make_pgd(unsigned long long);
+pte_t xen_make_pte(pteval_t);
+pmd_t xen_make_pmd(pmdval_t);
+pgd_t xen_make_pgd(pgdval_t);
 
+#ifdef CONFIG_X86_PAE
 void xen_set_pte_at(struct mm_struct *mm, unsigned long addr,
 		    pte_t *ptep, pte_t pteval);
 void xen_set_pte_atomic(pte_t *ptep, pte_t pte);
@@ -53,15 +53,6 @@ void xen_set_pud(pud_t *ptr, pud_t val);
 void xen_pte_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep);
 void xen_pmd_clear(pmd_t *pmdp);
 
-
-#else
-unsigned long xen_pte_val(pte_t);
-unsigned long xen_pmd_val(pmd_t);
-unsigned long xen_pgd_val(pgd_t);
-
-pte_t xen_make_pte(unsigned long);
-pmd_t xen_make_pmd(unsigned long);
-pgd_t xen_make_pgd(unsigned long);
 #endif
 
 #endif	/* _XEN_MMU_H */
-- 
1.5.4.1


linux-2.6-xen-0039-x86_64-implementation-of-some-page.h-macros.patch:

--- NEW FILE linux-2.6-xen-0039-x86_64-implementation-of-some-page.h-macros.patch ---
>From 47b34494467c07842bc8832ae7f008a05b5b50de Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at redhat.com>
Date: Wed, 28 Nov 2007 12:20:59 -0200
Subject: [PATCH] x86_64 implementation of some page.h macros

Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
---
 include/xen/page.h |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/include/xen/page.h b/include/xen/page.h
index 4456566..7bf5b56 100644
--- a/include/xen/page.h
+++ b/include/xen/page.h
@@ -154,7 +154,6 @@ static inline pteval_t pte_val_ma(pte_t x)
 {
 	return native_pte_val(x);
 }
-#define pmd_val_ma(v) ((v).pmd)
 #define pud_val_ma(v) ((v).pgd.pgd)
 #define __pte_ma(x)	(native_make_pte(x))
 #define __pmd_ma(x)	((pmd_t) { (x) } )
@@ -162,11 +161,11 @@ static inline pteval_t pte_val_ma(pte_t x)
 #define pte_mfn(_pte) ((native_pte_val(_pte) & __PHYSICAL_MASK) >> PAGE_SHIFT)
 #define mfn_pte(pfn, prot)	__pte_ma(((pfn) << PAGE_SHIFT) | pgprot_val(prot))
 #define pte_val_ma(x)	((x).pte)
-#define pmd_val_ma(v)	((v).pud.pgd.pgd)
 #define __pte_ma(x)	((pte_t) { (x) } )
 #endif	/* CONFIG_X86_PAE */
 
 #define pgd_val_ma(x)	((x).pgd)
+#define pmd_val_ma(x)	(native_pmd_val((x)))
 
 
 xmaddr_t arbitrary_virt_to_machine(unsigned long address);
-- 
1.5.4.1


linux-2.6-xen-0040-Chainsaw-style-ifdefs.patch:

--- NEW FILE linux-2.6-xen-0040-Chainsaw-style-ifdefs.patch ---
>From baf5f6afe367c5b88282a853d8091905a2a38944 Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at redhat.com>
Date: Wed, 28 Nov 2007 12:21:33 -0200
Subject: [PATCH] Chainsaw-style #ifdefs

Whee!

Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
---
 arch/x86/xen/enlighten.c |    8 ++++++++
 arch/x86/xen/setup.c     |    5 +++++
 2 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 8f51827..4b8ebb8 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -1204,6 +1204,7 @@ static const struct machine_ops __initdata xen_machine_ops = {
 };
 
 
+#ifdef CONFIG_X86_32
 static void __init xen_reserve_top(void)
 {
 	unsigned long top = HYPERVISOR_VIRT_START;
@@ -1214,6 +1215,9 @@ static void __init xen_reserve_top(void)
 
 	reserve_top_address(-top + 2 * PAGE_SIZE);
 }
+#else
+#define xen_reserve_top() do { } while (0)
+#endif
 
 /* First C function to be called on Xen boot */
 asmlinkage void __init xen_start_kernel(void)
@@ -1248,7 +1252,9 @@ asmlinkage void __init xen_start_kernel(void)
 
 	pgd = (pgd_t *)xen_start_info->pt_base;
 
+#ifdef CONFIG_X86_32
 	init_pg_tables_end = __pa(pgd) + xen_start_info->nr_pt_frames*PAGE_SIZE;
+#endif
 
 	init_mm.pgd = pgd; /* use the Xen pagetables to start */
 
@@ -1268,10 +1274,12 @@ asmlinkage void __init xen_start_kernel(void)
 	/* set the limit of our address space */
 	xen_reserve_top();
 
+#ifdef CONFIG_X86_32
 	/* set up basic CPUID stuff */
 	cpu_detect(&new_cpu_data);
 	new_cpu_data.hard_math = 1;
 	new_cpu_data.x86_capability[0] = cpuid_edx(1);
+#endif
 
 	/* Poke various useful things into boot_params */
 	boot_params.hdr.type_of_loader = (9 << 4) | 0;
diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index d42586d..7b66f26 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -8,6 +8,7 @@
 #include <linux/sched.h>
 #include <linux/mm.h>
 #include <linux/pm.h>
+#include <linux/pfn.h>
 
 #include <asm/elf.h>
 #include <asm/vdso.h>
@@ -62,6 +63,7 @@ static void xen_idle(void)
 	}
 }
 
+#ifdef CONFIG_X86_32
 /*
  * Set the bit indicating "nosegneg" library variants should be used.
  */
@@ -71,6 +73,9 @@ static void __init fiddle_vdso(void)
 	u32 *mask = VDSO32_SYMBOL(&vdso32_default_start, NOTE_MASK);
 	*mask |= 1 << VDSO_NOTE_NONEGSEG_BIT;
 }
+#else
+#define fiddle_vdso() do { } while (0)
+#endif
 
 void __init xen_arch_setup(void)
 {
-- 
1.5.4.1


linux-2.6-xen-0041-xen-Make-xen_pte_val-generic.patch:

--- NEW FILE linux-2.6-xen-0041-xen-Make-xen_pte_val-generic.patch ---
>From 303e2c78ec4d1f8cab2c1355b5523f43a982546d Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at redhat.com>
Date: Wed, 28 Nov 2007 17:53:17 -0200
Subject: [PATCH] xen: Make xen_pte_val() generic

Care is taken to make sure that all attribute bits
are left untouched by the address translation,
especially NX since it is a higher bit than all the
others.

Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
---
 arch/x86/xen/mmu.c |   36 ++++++++++++++----------------------
 1 files changed, 14 insertions(+), 22 deletions(-)

diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
index b974434..4ec41ce 100644
--- a/arch/x86/xen/mmu.c
+++ b/arch/x86/xen/mmu.c
@@ -143,6 +143,20 @@ void xen_set_pte_at(struct mm_struct *mm, unsigned long addr,
 	xen_set_pte(ptep, pteval);
 }
 
+pteval_t xen_pte_val(pte_t pte)
+{
+	pteval_t ret = pte_val_ma(pte);
+
+	if (ret & _PAGE_PRESENT) {
+		/* preserve all other pte bits */
+		unsigned long m = machine_to_phys(XMADDR(ret & PHYSICAL_PAGE_MASK)).paddr;
+		ret &= ~PHYSICAL_PAGE_MASK;
+		ret |= m;
+	}
+
+	return ret;
+}
+
 #ifdef CONFIG_X86_PAE
 void xen_set_pud(pud_t *ptr, pud_t val)
 {
@@ -186,18 +200,6 @@ void xen_pmd_clear(pmd_t *pmdp)
 	xen_set_pmd(pmdp, __pmd(0));
 }
 
-pteval_t xen_pte_val(pte_t pte)
-{
-	unsigned long long ret = 0;
-
-	if (pte.pte_low) {
-		ret = ((unsigned long long)pte.pte_high << 32) | pte.pte_low;
-		ret = machine_to_phys(XMADDR(ret)).paddr | 1;
-	}
-
-	return ret;
-}
-
 pmdval_t xen_pmd_val(pmd_t pmd)
 {
 	unsigned long long ret = pmd.pmd;
@@ -245,16 +247,6 @@ void xen_set_pte(pte_t *ptep, pte_t pte)
 	*ptep = pte;
 }
 
-pteval_t xen_pte_val(pte_t pte)
-{
-	unsigned long ret = pte.pte_low;
-
-	if (ret & _PAGE_PRESENT)
-		ret = machine_to_phys(XMADDR(ret)).paddr;
-
-	return ret;
-}
-
 pgdval_t xen_pgd_val(pgd_t pgd)
 {
 	unsigned long ret = pgd.pgd;
-- 
1.5.4.1


linux-2.6-xen-0042-More-chainsaw-ifdefs.patch:

--- NEW FILE linux-2.6-xen-0042-More-chainsaw-ifdefs.patch ---
>From fc3b59eafc31d153e8579e59d5aa186c773a7054 Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at redhat.com>
Date: Wed, 28 Nov 2007 17:54:25 -0200
Subject: [PATCH] More chainsaw-ifdefs

Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
---
 arch/x86/xen/events.c |   11 ++++++++++-
 arch/x86/xen/mmu.c    |    5 +++++
 2 files changed, 15 insertions(+), 1 deletions(-)

diff --git a/arch/x86/xen/events.c b/arch/x86/xen/events.c
index dcf613e..fa67e61 100644
--- a/arch/x86/xen/events.c
+++ b/arch/x86/xen/events.c
@@ -456,6 +456,12 @@ void xen_send_IPI_one(unsigned int cpu, enum ipi_vector vector)
 }
 
 
+/*FIXME: ugly */
+#ifdef CONFIG_X86_64
+extern asmlinkage unsigned int do_IRQ(struct pt_regs *regs);
+#endif
+
+
 /*
  * Search the CPUs pending events bitmasks.  For each one found, map
  * the event number to an irq, and feed it into do_IRQ() for
@@ -587,5 +593,8 @@ void __init xen_init_IRQ(void)
 	for (i = 0; i < NR_IRQS; i++)
 		irq_bindcount[i] = 0;
 
-	irq_ctx_init(smp_processor_id());
+#ifdef CONFIG_X86_32
+	/*FIXME: investigate this better */
+ 	irq_ctx_init(smp_processor_id());
+#endif
 }
diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
index 4ec41ce..d4742df 100644
--- a/arch/x86/xen/mmu.c
+++ b/arch/x86/xen/mmu.c
@@ -526,7 +526,12 @@ static void drop_other_mm_ref(void *info)
 {
 	struct mm_struct *mm = info;
 
+#ifdef CONFIG_X86_32
+	/*FIXME: better way to do this, avoiding #ifdefs */
 	if (__get_cpu_var(cpu_tlbstate).active_mm == mm)
+#else
+	if (read_pda(active_mm) == mm)
+#endif
 		leave_mm(smp_processor_id());
 
 	/* If this cpu still has a stale cr3 reference, then make sure
-- 
1.5.4.1


linux-2.6-xen-0043-Chainsaw-ifdefs-on-assembly-percpu-handling.patch:

--- NEW FILE linux-2.6-xen-0043-Chainsaw-ifdefs-on-assembly-percpu-handling.patch ---
>From 97b00ea2767fea14e7a3b769cd0de0437b7082ca Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at redhat.com>
Date: Wed, 28 Nov 2007 17:55:00 -0200
Subject: [PATCH] Chainsaw-ifdefs on assembly percpu handling

Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>

Undo stupid code added when trying to make percpu work

Using 32-bit registers would never work.

Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
---
 include/asm-x86/percpu.h |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/include/asm-x86/percpu.h b/include/asm-x86/percpu.h
index b80af66..5dcb3bd 100644
--- a/include/asm-x86/percpu.h
+++ b/include/asm-x86/percpu.h
@@ -9,6 +9,8 @@
    should be just put into a single section and referenced directly
    from %gs */
 
+#ifndef __ASSEMBLY__
+
 #ifdef CONFIG_SMP
 #include <asm/pda.h>
 
@@ -26,6 +28,8 @@ DECLARE_PER_CPU(struct x8664_pda, pda);
 #define x86_read_percpu(var) __get_cpu_var(var)
 #define x86_write_percpu(var,val) (__get_cpu_var(var) = (val))
 
+#endif
+
 #else /* CONFIG_X86_64 */
 
 #ifdef __ASSEMBLY__
-- 
1.5.4.1


linux-2.6-xen-0044-x86_64-percpu-assembly-macros.patch:

--- NEW FILE linux-2.6-xen-0044-x86_64-percpu-assembly-macros.patch ---
>From 4f668ec890f8b197506121ad838a044cc776bc26 Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at redhat.com>
Date: Thu, 29 Nov 2007 16:05:08 -0200
Subject: [PATCH] x86_64 percpu assembly macros

Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
---
 include/asm-x86/percpu.h |   26 +++++++++++++++++++++++++-
 1 files changed, 25 insertions(+), 1 deletions(-)

diff --git a/include/asm-x86/percpu.h b/include/asm-x86/percpu.h
index 5dcb3bd..3f4522b 100644
--- a/include/asm-x86/percpu.h
+++ b/include/asm-x86/percpu.h
@@ -9,7 +9,31 @@
    should be just put into a single section and referenced directly
    from %gs */
 
-#ifndef __ASSEMBLY__
+#ifdef __ASSEMBLY__
+
+/*
+ * PER_CPU finds an address of a per-cpu variable.
+ *
+ * Args:
+ *    var - variable name
+ *    reg - 32bit register
+ *
+ * The resulting address is stored in the "reg" argument.
+ *
+ * Example:
+ *    PER_CPU(cpu_gdt_descr, %ebx)
+ */
+#ifdef CONFIG_SMP
+#define PER_CPU(var, reg)			\
+	movq %gs:pda_data_offset, reg;		\
+	lea per_cpu__##var(reg), reg
+#else /* ! SMP */
+#define PER_CPU(var, reg)			\
+	movl $per_cpu__##var, reg
+#define PER_CPU_VAR(var)	per_cpu__##var
+#endif	/* SMP */
+
+#else /* ...!ASSEMBLY */
 
 #ifdef CONFIG_SMP
 #include <asm/pda.h>
-- 
1.5.4.1


linux-2.6-xen-0045-Some-xen-asm.S-x86_64-code.patch:

--- NEW FILE linux-2.6-xen-0045-Some-xen-asm.S-x86_64-code.patch ---
>From abce601fcda0bfef17fade06d9657790a8c10ccb Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at redhat.com>
Date: Thu, 29 Nov 2007 16:06:30 -0200
Subject: [PATCH] Some xen-asm.S x86_64 code

Funny preprocessor tricks to make the same code work on both arches
included.

Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
---
 arch/x86/xen/xen-asm.S |   55 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 54 insertions(+), 1 deletions(-)

diff --git a/arch/x86/xen/xen-asm.S b/arch/x86/xen/xen-asm.S
index 6b71904..af6abfa 100644
--- a/arch/x86/xen/xen-asm.S
+++ b/arch/x86/xen/xen-asm.S
@@ -24,6 +24,28 @@
 #define RELOC(x, v)	.globl x##_reloc; x##_reloc=v
 #define ENDPATCH(x)	.globl x##_end; x##_end=.
 
+#ifdef CONFIG_X86_64
+#  define SUFFIX  q
+#  define REGPREF r
+#else
+#  define SUFFIX  l
+#  define REGPREF e
+#endif
+
+#define  __REG(pref, reg) %pref##reg
+#define  _REG(pref, reg) __REG(pref, reg)
+#define  REG(reg) _REG(REGPREF, reg)
+
+#define  __INSN(in, suff) in##suff
+#define  _INSN(in, suff) __INSN(in, suff)
+#define  INSN(in) _INSN(in, SUFFIX)
+
+#define  rAX REG(ax)
+#define  rSP REG(sp)
+#define  MOV INSN(mov)
+#define  AND INSN(and)
+
+
 /* Pseudo-flag used for virtual NMI, which we don't implement yet */
 #define XEN_EFLAGS_NMI	0x80000000
 
@@ -34,14 +56,24 @@
  */
 ENTRY(xen_irq_enable_direct)
 	/* Unmask events */
+#ifdef PER_CPU_VAR
 	movb $0, PER_CPU_VAR(xen_vcpu_info)+XEN_vcpu_info_mask
+#else
+	PER_CPU(xen_vcpu_info, rAX)
+	movb $0, XEN_vcpu_info_mask(rAX)
+#endif
 
 	/* Preempt here doesn't matter because that will deal with
 	   any pending interrupts.  The pending check may end up being
 	   run on the wrong CPU, but that doesn't hurt. */
 
 	/* Test for pending */
+#ifdef PER_CPU_VAR
 	testb $0xff, PER_CPU_VAR(xen_vcpu_info)+XEN_vcpu_info_pending
+#else
+	/* rAX already points to xen_vcpu_info */
+	testb $0xff, XEN_vcpu_info_pending(rAX)
+#endif
 	jz 1f
 
 2:	call check_events
@@ -57,7 +89,12 @@ ENDPATCH(xen_irq_enable_direct)
 	non-zero.
  */
 ENTRY(xen_irq_disable_direct)
+#ifdef PER_CPU_VAR
 	movb $1, PER_CPU_VAR(xen_vcpu_info)+XEN_vcpu_info_mask
+#else
+	PER_CPU(xen_vcpu_info, rAX)
+	movb $1, XEN_vcpu_info_mask(rAX)
+#endif
 ENDPATCH(xen_irq_disable_direct)
 	ret
 	ENDPROC(xen_irq_disable_direct)
@@ -73,7 +110,12 @@ ENDPATCH(xen_irq_disable_direct)
 	Xen and x86 use opposite senses (mask vs enable).
  */
 ENTRY(xen_save_fl_direct)
+#ifdef PER_CPU_VAR
 	testb $0xff, PER_CPU_VAR(xen_vcpu_info)+XEN_vcpu_info_mask
+#else
+	PER_CPU(xen_vcpu_info, rAX)
+	testb $0xff, XEN_vcpu_info_mask(rAX)
+#endif
 	setz %ah
 	addb %ah,%ah
 ENDPATCH(xen_save_fl_direct)
@@ -92,13 +134,23 @@ ENDPATCH(xen_save_fl_direct)
  */
 ENTRY(xen_restore_fl_direct)
 	testb $X86_EFLAGS_IF>>8, %ah
+#ifdef PER_CPU_VAR
 	setz PER_CPU_VAR(xen_vcpu_info)+XEN_vcpu_info_mask
+#else
+	PER_CPU(xen_vcpu_info, rAX)
+	setz XEN_vcpu_info_mask(rAX)
+#endif
 	/* Preempt here doesn't matter because that will deal with
 	   any pending interrupts.  The pending check may end up being
 	   run on the wrong CPU, but that doesn't hurt. */
 
 	/* check for unmasked and pending */
+#ifdef PER_CPU_VAR
 	cmpw $0x0001, PER_CPU_VAR(xen_vcpu_info)+XEN_vcpu_info_pending
+#else
+	/* rAX already points to xen_vcpu_info */
+	cmpw $0x0001, XEN_vcpu_info_pending(rAX)
+#endif
 	jz 1f
 2:	call check_events
 1:
@@ -143,7 +195,8 @@ ENDPATCH(xen_restore_fl_direct)
  */
 ENTRY(xen_iret_direct)
 	/* test eflags for special cases */
-	testl $(X86_EFLAGS_VM | XEN_EFLAGS_NMI), 8(%esp)
+	/*FIXME: use right offset for rFLAGS */
+	testl $(X86_EFLAGS_VM | XEN_EFLAGS_NMI), 8(rSP)
 	jnz hyper_iret
 
 	push %eax
-- 
1.5.4.1


linux-2.6-xen-0046-Chainsaw-party-SPLITME.patch:

--- NEW FILE linux-2.6-xen-0046-Chainsaw-party-SPLITME.patch ---
>From 64f05656c7e450242d275f94fd4c9d84cd3d2422 Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at redhat.com>
Date: Mon, 3 Dec 2007 17:28:38 -0200
Subject: [PATCH] Chainsaw party (SPLITME)

:D

Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
---
 arch/x86/kernel/asm-offsets_64.c |   15 +++
 arch/x86/kernel/entry_32.S       |   83 +---------------
 arch/x86/kernel/entry_64.S       |    4 +
 arch/x86/kernel/head_64.S        |    3 +
 arch/x86/kernel/smpboot_64.c     |    4 +-
 arch/x86/xen/enlighten.c         |    3 +
 arch/x86/xen/entry.S             |    5 +
 arch/x86/xen/entry_32.S          |   81 +++++++++++++++
 arch/x86/xen/entry_64.S          |    1 +
 arch/x86/xen/smp.c               |   16 +++
 arch/x86/xen/xen-asm.S           |  210 +-------------------------------------
 arch/x86/xen/xen-asm_32.S        |  184 +++++++++++++++++++++++++++++++++
 arch/x86/xen/xen-asm_64.S        |    8 ++
 arch/x86/xen/xen-head.S          |   20 +++-
 include/asm-x86/asm-hack.h       |   27 +++++
 include/asm-x86/smp_64.h         |    3 +
 include/linux/elfnote.h          |    2 +-
 include/xen/interface/elfnote.h  |   16 +++
 18 files changed, 390 insertions(+), 295 deletions(-)
 create mode 100644 arch/x86/xen/entry.S
 create mode 100644 arch/x86/xen/entry_32.S
 create mode 100644 arch/x86/xen/entry_64.S
 create mode 100644 arch/x86/xen/xen-asm_32.S
 create mode 100644 arch/x86/xen/xen-asm_64.S
 create mode 100644 include/asm-x86/asm-hack.h

diff --git a/arch/x86/kernel/asm-offsets_64.c b/arch/x86/kernel/asm-offsets_64.c
index 494e1e0..d0fabfd 100644
--- a/arch/x86/kernel/asm-offsets_64.c
+++ b/arch/x86/kernel/asm-offsets_64.c
@@ -25,6 +25,8 @@
 #define OFFSET(sym, str, mem) \
 	DEFINE(sym, offsetof(struct str, mem))
 
+#include <xen/interface/xen.h>
+
 #define __NO_STUBS 1
 #undef __SYSCALL
 #undef _ASM_X86_64_UNISTD_H_
@@ -92,6 +94,13 @@ int main(void)
 	       offsetof (struct rt_sigframe32, uc.uc_mcontext));
 	BLANK();
 #endif
+
+#ifdef CONFIG_XEN
+	BLANK();
+	OFFSET(XEN_vcpu_info_mask, vcpu_info, evtchn_upcall_mask);
+	OFFSET(XEN_vcpu_info_pending, vcpu_info, evtchn_upcall_pending);
+#endif
+
 	DEFINE(pbe_address, offsetof(struct pbe, address));
 	DEFINE(pbe_orig_address, offsetof(struct pbe, orig_address));
 	DEFINE(pbe_next, offsetof(struct pbe, next));
@@ -130,6 +139,12 @@ int main(void)
 	BLANK();
 	DEFINE(__NR_syscall_max, sizeof(syscalls) - 1);
 
+	DEFINE(PAGE_SIZE_asm, PAGE_SIZE);
+	DEFINE(PAGE_SHIFT_asm, PAGE_SHIFT);
+	DEFINE(PTRS_PER_PTE, PTRS_PER_PTE);
+	DEFINE(PTRS_PER_PMD, PTRS_PER_PMD);
+	DEFINE(PTRS_PER_PGD, PTRS_PER_PGD);
+
 	BLANK();
 	OFFSET(BP_scratch, boot_params, scratch);
 	OFFSET(BP_loadflags, boot_params, hdr.loadflags);
diff --git a/arch/x86/kernel/entry_32.S b/arch/x86/kernel/entry_32.S
index 4b87c32..4ef3881 100644
--- a/arch/x86/kernel/entry_32.S
+++ b/arch/x86/kernel/entry_32.S
@@ -1023,88 +1023,7 @@ ENTRY(kernel_thread_helper)
 ENDPROC(kernel_thread_helper)
 
 #ifdef CONFIG_XEN
-ENTRY(xen_hypervisor_callback)
-	CFI_STARTPROC
-	pushl $0
-	CFI_ADJUST_CFA_OFFSET 4
-	SAVE_ALL
-	TRACE_IRQS_OFF
-
-	/* Check to see if we got the event in the critical
-	   region in xen_iret_direct, after we've reenabled
-	   events and checked for pending events.  This simulates
-	   iret instruction's behaviour where it delivers a
-	   pending interrupt when enabling interrupts. */
-	movl PT_EIP(%esp),%eax
-	cmpl $xen_iret_start_crit,%eax
-	jb   1f
-	cmpl $xen_iret_end_crit,%eax
-	jae  1f
-
-	call xen_iret_crit_fixup
-
-1:	mov %esp, %eax
-	call xen_evtchn_do_upcall
-	jmp  ret_from_intr
-	CFI_ENDPROC
-ENDPROC(xen_hypervisor_callback)
-
-# Hypervisor uses this for application faults while it executes.
-# We get here for two reasons:
-#  1. Fault while reloading DS, ES, FS or GS
-#  2. Fault while executing IRET
-# Category 1 we fix up by reattempting the load, and zeroing the segment
-# register if the load fails.
-# Category 2 we fix up by jumping to do_iret_error. We cannot use the
-# normal Linux return path in this case because if we use the IRET hypercall
-# to pop the stack frame we end up in an infinite loop of failsafe callbacks.
-# We distinguish between categories by maintaining a status value in EAX.
-ENTRY(xen_failsafe_callback)
-	CFI_STARTPROC
-	pushl %eax
-	CFI_ADJUST_CFA_OFFSET 4
-	movl $1,%eax
-1:	mov 4(%esp),%ds
-2:	mov 8(%esp),%es
-3:	mov 12(%esp),%fs
-4:	mov 16(%esp),%gs
-	testl %eax,%eax
-	popl %eax
-	CFI_ADJUST_CFA_OFFSET -4
-	lea 16(%esp),%esp
-	CFI_ADJUST_CFA_OFFSET -16
-	jz 5f
-	addl $16,%esp
-	jmp iret_exc		# EAX != 0 => Category 2 (Bad IRET)
-5:	pushl $0		# EAX == 0 => Category 1 (Bad segment)
-	CFI_ADJUST_CFA_OFFSET 4
-	SAVE_ALL
-	jmp ret_from_exception
-	CFI_ENDPROC
-
-.section .fixup,"ax"
-6:	xorl %eax,%eax
-	movl %eax,4(%esp)
-	jmp 1b
-7:	xorl %eax,%eax
-	movl %eax,8(%esp)
-	jmp 2b
-8:	xorl %eax,%eax
-	movl %eax,12(%esp)
-	jmp 3b
-9:	xorl %eax,%eax
-	movl %eax,16(%esp)
-	jmp 4b
-.previous
-.section __ex_table,"a"
-	.align 4
-	.long 1b,6b
-	.long 2b,7b
-	.long 3b,8b
-	.long 4b,9b
-.previous
-ENDPROC(xen_failsafe_callback)
-
+#include "../xen/entry_32.S"
 #endif	/* CONFIG_XEN */
 
 .section .rodata,"a"
diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S
index 556a8df..3fedbd6 100644
--- a/arch/x86/kernel/entry_64.S
+++ b/arch/x86/kernel/entry_64.S
@@ -1202,3 +1202,7 @@ KPROBE_ENTRY(ignore_sysret)
 	sysret
 	CFI_ENDPROC
 ENDPROC(ignore_sysret)
+
+#ifdef CONFIG_XEN
+#include "../xen/entry_64.S"
+#endif	/* CONFIG_XEN */
diff --git a/arch/x86/kernel/head_64.S b/arch/x86/kernel/head_64.S
index a007454..923ad56 100644
--- a/arch/x86/kernel/head_64.S
+++ b/arch/x86/kernel/head_64.S
@@ -419,6 +419,9 @@ ENTRY(phys_base)
 	/* This must match the first entry in level2_kernel_pgt */
 	.quad   0x0000000000000000
 
+#include "../../x86/xen/xen-head.S"
+
+
 /* We need valid kernel segments for data and code in long mode too
  * IRET will check the segment types  kkeil 2000/10/28
  * Also sysret mandates a special GDT layout 
diff --git a/arch/x86/kernel/smpboot_64.c b/arch/x86/kernel/smpboot_64.c
index a47f973..08bbcad 100644
--- a/arch/x86/kernel/smpboot_64.c
+++ b/arch/x86/kernel/smpboot_64.c
@@ -144,7 +144,7 @@ static unsigned long __cpuinit setup_trampoline(void)
  * a given CPU
  */
 
-static void __cpuinit smp_store_cpu_info(int id)
+void __cpuinit smp_store_cpu_info(int id)
 {
 	struct cpuinfo_x86 *c = &cpu_data(id);
 
@@ -261,7 +261,7 @@ cpumask_t cpu_coregroup_map(int cpu)
 /* representing cpus for which sibling maps can be computed */
 static cpumask_t cpu_sibling_setup_map;
 
-static inline void set_cpu_sibling_map(int cpu)
+inline void set_cpu_sibling_map(int cpu)
 {
 	int i;
 	struct cpuinfo_x86 *c = &cpu_data(cpu);
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 4b8ebb8..48a9e35 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -1238,7 +1238,10 @@ asmlinkage void __init xen_start_kernel(void)
 	pv_apic_ops = xen_apic_ops;
 	pv_mmu_ops = xen_mmu_ops;
 
+#ifdef CONFIG_X86_32
+	/*FIXME: implement me! */
 	machine_ops = xen_machine_ops;
+#endif
 
 #ifdef CONFIG_SMP
 	smp_ops = xen_smp_ops;
diff --git a/arch/x86/xen/entry.S b/arch/x86/xen/entry.S
new file mode 100644
index 0000000..1e7551e
--- /dev/null
+++ b/arch/x86/xen/entry.S
@@ -0,0 +1,5 @@
+#ifdef CONFIG_X86_64
+#  include "entry_64.S"
+#else
+#  include "entry_32.S"
+#endif
diff --git a/arch/x86/xen/entry_32.S b/arch/x86/xen/entry_32.S
new file mode 100644
index 0000000..89109a8
--- /dev/null
+++ b/arch/x86/xen/entry_32.S
@@ -0,0 +1,81 @@
+ENTRY(xen_hypervisor_callback)
+	CFI_STARTPROC
+	pushl $0
+	CFI_ADJUST_CFA_OFFSET 4
+	SAVE_ALL
+	TRACE_IRQS_OFF
+
+	/* Check to see if we got the event in the critical
+	   region in xen_iret_direct, after we've reenabled
+	   events and checked for pending events.  This simulates
+	   iret instruction's behaviour where it delivers a
+	   pending interrupt when enabling interrupts. */
+	movl PT_EIP(%esp),%eax
+	cmpl $xen_iret_start_crit,%eax
+	jb   1f
+	cmpl $xen_iret_end_crit,%eax
+	jae  1f
+
+	call xen_iret_crit_fixup
+
+1:	mov %esp, %eax
+	call xen_evtchn_do_upcall
+	jmp  ret_from_intr
+	CFI_ENDPROC
+ENDPROC(xen_hypervisor_callback)
+
+# Hypervisor uses this for application faults while it executes.
+# We get here for two reasons:
+#  1. Fault while reloading DS, ES, FS or GS
+#  2. Fault while executing IRET
+# Category 1 we fix up by reattempting the load, and zeroing the segment
+# register if the load fails.
+# Category 2 we fix up by jumping to do_iret_error. We cannot use the
+# normal Linux return path in this case because if we use the IRET hypercall
+# to pop the stack frame we end up in an infinite loop of failsafe callbacks.
+# We distinguish between categories by maintaining a status value in EAX.
+ENTRY(xen_failsafe_callback)
+	CFI_STARTPROC
+	pushl %eax
+	CFI_ADJUST_CFA_OFFSET 4
+	movl $1,%eax
+1:	mov 4(%esp),%ds
+2:	mov 8(%esp),%es
+3:	mov 12(%esp),%fs
+4:	mov 16(%esp),%gs
+	testl %eax,%eax
+	popl %eax
+	CFI_ADJUST_CFA_OFFSET -4
+	lea 16(%esp),%esp
+	CFI_ADJUST_CFA_OFFSET -16
+	jz 5f
+	addl $16,%esp
+	jmp iret_exc		# EAX != 0 => Category 2 (Bad IRET)
+5:	pushl $0		# EAX == 0 => Category 1 (Bad segment)
+	CFI_ADJUST_CFA_OFFSET 4
+	SAVE_ALL
+	jmp ret_from_exception
+	CFI_ENDPROC
+
+.section .fixup,"ax"
+6:	xorl %eax,%eax
+	movl %eax,4(%esp)
+	jmp 1b
+7:	xorl %eax,%eax
+	movl %eax,8(%esp)
+	jmp 2b
+8:	xorl %eax,%eax
+	movl %eax,12(%esp)
+	jmp 3b
+9:	xorl %eax,%eax
+	movl %eax,16(%esp)
+	jmp 4b
+.previous
+.section __ex_table,"a"
+	.align 4
+	.long 1b,6b
+	.long 2b,7b
+	.long 3b,8b
+	.long 4b,9b
+.previous
+ENDPROC(xen_failsafe_callback)
diff --git a/arch/x86/xen/entry_64.S b/arch/x86/xen/entry_64.S
new file mode 100644
index 0000000..c8c1473
--- /dev/null
+++ b/arch/x86/xen/entry_64.S
@@ -0,0 +1 @@
+#error foo
diff --git a/arch/x86/xen/smp.c b/arch/x86/xen/smp.c
index aafc544..03580bf 100644
--- a/arch/x86/xen/smp.c
+++ b/arch/x86/xen/smp.c
@@ -144,7 +144,10 @@ void __init xen_smp_prepare_boot_cpu(void)
 
 	/* We've switched to the "real" per-cpu gdt, so make sure the
 	   old memory can be recycled */
+#ifdef CONFIG_X86_32
+	//FIXME: implement this on 64-bit
 	make_lowmem_page_readwrite(&per_cpu__gdt_page);
+#endif
 
 	for_each_possible_cpu(cpu) {
 		cpus_clear(per_cpu(cpu_sibling_map, cpu));
@@ -207,6 +210,8 @@ void __init xen_smp_prepare_cpus(unsigned int max_cpus)
 static __cpuinit int
 cpu_initialize_context(unsigned int cpu, struct task_struct *idle)
 {
+/*FIXME: implement me */
+#ifdef CONFIG_X86_32
 	struct vcpu_guest_context *ctxt;
 	struct gdt_page *gdt = &per_cpu(gdt_page, cpu);
 
@@ -256,11 +261,14 @@ cpu_initialize_context(unsigned int cpu, struct task_struct *idle)
 		BUG();
 
 	kfree(ctxt);
+#endif
 	return 0;
 }
 
 int __cpuinit xen_cpu_up(unsigned int cpu)
 {
+//FIXME: implement me!
+#ifdef CONFIG_X86_32
 	struct task_struct *idle = idle_task(cpu);
 	int rc;
 
@@ -299,6 +307,7 @@ int __cpuinit xen_cpu_up(unsigned int cpu)
 	rc = HYPERVISOR_vcpu_op(VCPUOP_up, cpu, NULL);
 	BUG_ON(rc);
 
+#endif
 	return 0;
 }
 
@@ -308,6 +317,8 @@ void xen_smp_cpus_done(unsigned int max_cpus)
 
 static void stop_self(void *v)
 {
+//FIXME: implement me!
+#ifdef CONFIG_X86_32
 	int cpu = smp_processor_id();
 
 	/* make sure we're not pinning something down */
@@ -316,6 +327,7 @@ static void stop_self(void *v)
 
 	HYPERVISOR_vcpu_op(VCPUOP_down, cpu, NULL);
 	BUG();
+#endif
 }
 
 void xen_smp_send_stop(void)
@@ -356,7 +368,11 @@ static irqreturn_t xen_call_function_interrupt(int irq, void *dev_id)
 	 */
 	irq_enter();
 	(*func)(info);
+#ifdef CONFIG_X86_32
 	__get_cpu_var(irq_stat).irq_call_count++;
+#else
+	add_pda(irq_call_count, 1);
+#endif
 	irq_exit();
 
 	if (wait) {
diff --git a/arch/x86/xen/xen-asm.S b/arch/x86/xen/xen-asm.S
index af6abfa..1c3c0ac 100644
--- a/arch/x86/xen/xen-asm.S
+++ b/arch/x86/xen/xen-asm.S
@@ -18,33 +18,13 @@
 #include <asm/percpu.h>
 #include <asm/processor-flags.h>
 #include <asm/segment.h>
+#include <asm/asm-hack.h>
 
 #include <xen/interface/xen.h>
 
 #define RELOC(x, v)	.globl x##_reloc; x##_reloc=v
 #define ENDPATCH(x)	.globl x##_end; x##_end=.
 
-#ifdef CONFIG_X86_64
-#  define SUFFIX  q
-#  define REGPREF r
-#else
-#  define SUFFIX  l
-#  define REGPREF e
-#endif
-
-#define  __REG(pref, reg) %pref##reg
-#define  _REG(pref, reg) __REG(pref, reg)
-#define  REG(reg) _REG(REGPREF, reg)
-
-#define  __INSN(in, suff) in##suff
-#define  _INSN(in, suff) __INSN(in, suff)
-#define  INSN(in) _INSN(in, SUFFIX)
-
-#define  rAX REG(ax)
-#define  rSP REG(sp)
-#define  MOV INSN(mov)
-#define  AND INSN(and)
-
 
 /* Pseudo-flag used for virtual NMI, which we don't implement yet */
 #define XEN_EFLAGS_NMI	0x80000000
@@ -159,191 +139,9 @@ ENDPATCH(xen_restore_fl_direct)
 	ENDPROC(xen_restore_fl_direct)
 	RELOC(xen_restore_fl_direct, 2b+1)
 
-/*
-	This is run where a normal iret would be run, with the same stack setup:
-	      8: eflags
-	      4: cs
-	esp-> 0: eip
-
-	This attempts to make sure that any pending events are dealt
-	with on return to usermode, but there is a small window in
-	which an event can happen just before entering usermode.  If
-	the nested interrupt ends up setting one of the TIF_WORK_MASK
-	pending work flags, they will not be tested again before
-	returning to usermode. This means that a process can end up
-	with pending work, which will be unprocessed until the process
-	enters and leaves the kernel again, which could be an
-	unbounded amount of time.  This means that a pending signal or
-	reschedule event could be indefinitely delayed.
-
-	The fix is to notice a nested interrupt in the critical
-	window, and if one occurs, then fold the nested interrupt into
-	the current interrupt stack frame, and re-process it
-	iteratively rather than recursively.  This means that it will
-	exit via the normal path, and all pending work will be dealt
-	with appropriately.
-
-	Because the nested interrupt handler needs to deal with the
-	current stack state in whatever form its in, we keep things
-	simple by only using a single register which is pushed/popped
-	on the stack.
 
-	Non-direct iret could be done in the same way, but it would
-	require an annoying amount of code duplication.  We'll assume
-	that direct mode will be the common case once the hypervisor
-	support becomes commonplace.
- */
-ENTRY(xen_iret_direct)
-	/* test eflags for special cases */
-	/*FIXME: use right offset for rFLAGS */
-	testl $(X86_EFLAGS_VM | XEN_EFLAGS_NMI), 8(rSP)
-	jnz hyper_iret
-
-	push %eax
-	ESP_OFFSET=4	# bytes pushed onto stack
-
-	/* Store vcpu_info pointer for easy access.  Do it this
-	   way to avoid having to reload %fs */
-#ifdef CONFIG_SMP
-	GET_THREAD_INFO(%eax)
-	movl TI_cpu(%eax),%eax
-	movl __per_cpu_offset(,%eax,4),%eax
-	lea per_cpu__xen_vcpu_info(%eax),%eax
+#ifdef CONFIG_X86_64
+#include "xen-asm_64.S"
 #else
-	movl $per_cpu__xen_vcpu_info, %eax
+#include "xen-asm_32.S"
 #endif
-
-	/* check IF state we're restoring */
-	testb $X86_EFLAGS_IF>>8, 8+1+ESP_OFFSET(%esp)
-
-	/* Maybe enable events.  Once this happens we could get a
-	   recursive event, so the critical region starts immediately
-	   afterwards.  However, if that happens we don't end up
-	   resuming the code, so we don't have to be worried about
-	   being preempted to another CPU. */
-	setz XEN_vcpu_info_mask(%eax)
-xen_iret_start_crit:
-
-	/* check for unmasked and pending */
-	cmpw $0x0001, XEN_vcpu_info_pending(%eax)
-
-	/* If there's something pending, mask events again so we
-	   can jump back into xen_hypervisor_callback */
-	sete XEN_vcpu_info_mask(%eax)
-
-	popl %eax
-
-	/* From this point on the registers are restored and the stack
-	   updated, so we don't need to worry about it if we're preempted */
-iret_restore_end:
-
-	/* Jump to hypervisor_callback after fixing up the stack.
-	   Events are masked, so jumping out of the critical
-	   region is OK. */
-	je xen_hypervisor_callback
-
-	iret
-xen_iret_end_crit:
-
-hyper_iret:
-	/* put this out of line since its very rarely used */
-	jmp hypercall_page + __HYPERVISOR_iret * 32
-
-	.globl xen_iret_start_crit, xen_iret_end_crit
-
-/*
-   This is called by xen_hypervisor_callback in entry.S when it sees
-   that the EIP at the time of interrupt was between xen_iret_start_crit
-   and xen_iret_end_crit.  We're passed the EIP in %eax so we can do
-   a more refined determination of what to do.
-
-   The stack format at this point is:
-	----------------
-	 ss		: (ss/esp may be present if we came from usermode)
-	 esp		:
-	 eflags		}  outer exception info
-	 cs		}
-	 eip		}
-	---------------- <- edi (copy dest)
-	 eax		:  outer eax if it hasn't been restored
-	----------------
-	 eflags		}  nested exception info
-	 cs		}   (no ss/esp because we're nested
-	 eip		}    from the same ring)
-	 orig_eax	}<- esi (copy src)
-	 - - - - - - - -
-	 fs		}
-	 es		}
-	 ds		}  SAVE_ALL state
-	 eax		}
-	  :		:
-	 ebx		}
-	----------------
-	 return addr	 <- esp
-	----------------
-
-   In order to deliver the nested exception properly, we need to shift
-   everything from the return addr up to the error code so it
-   sits just under the outer exception info.  This means that when we
-   handle the exception, we do it in the context of the outer exception
-   rather than starting a new one.
-
-   The only caveat is that if the outer eax hasn't been
-   restored yet (ie, it's still on stack), we need to insert
-   its value into the SAVE_ALL state before going on, since
-   it's usermode state which we eventually need to restore.
- */
-ENTRY(xen_iret_crit_fixup)
-	/* offsets +4 for return address */
-
-	/*
-	   Paranoia: Make sure we're really coming from userspace.
-	   One could imagine a case where userspace jumps into the
-	   critical range address, but just before the CPU delivers a GP,
-	   it decides to deliver an interrupt instead.  Unlikely?
-	   Definitely.  Easy to avoid?  Yes.  The Intel documents
-	   explicitly say that the reported EIP for a bad jump is the
-	   jump instruction itself, not the destination, but some virtual
-	   environments get this wrong.
-	 */
-	movl PT_CS+4(%esp), %ecx
-	andl $SEGMENT_RPL_MASK, %ecx
-	cmpl $USER_RPL, %ecx
-	je 2f
-
-	lea PT_ORIG_EAX+4(%esp), %esi
-	lea PT_EFLAGS+4(%esp), %edi
-
-	/* If eip is before iret_restore_end then stack
-	   hasn't been restored yet. */
-	cmp $iret_restore_end, %eax
-	jae 1f
-
-	movl 0+4(%edi),%eax		/* copy EAX */
-	movl %eax, PT_EAX+4(%esp)
-
-	lea ESP_OFFSET(%edi),%edi	/* move dest up over saved regs */
-
-	/* set up the copy */
-1:	std
-	mov $(PT_EIP+4) / 4, %ecx	/* copy ret+saved regs up to orig_eax */
-	rep movsl
-	cld
-
-	lea 4(%edi),%esp		/* point esp to new frame */
-2:	ret
-
-
-/*
-	Force an event check by making a hypercall,
-	but preserve regs before making the call.
- */
-check_events:
-	push %eax
-	push %ecx
-	push %edx
-	call force_evtchn_callback
-	pop %edx
-	pop %ecx
-	pop %eax
-	ret
diff --git a/arch/x86/xen/xen-asm_32.S b/arch/x86/xen/xen-asm_32.S
new file mode 100644
index 0000000..1340296
--- /dev/null
+++ b/arch/x86/xen/xen-asm_32.S
@@ -0,0 +1,184 @@
+/*
+	This is run where a normal iret would be run, with the same stack setup:
+	      8: eflags
+	      4: cs
+	esp-> 0: eip
+
+	This attempts to make sure that any pending events are dealt
+	with on return to usermode, but there is a small window in
+	which an event can happen just before entering usermode.  If
+	the nested interrupt ends up setting one of the TIF_WORK_MASK
+	pending work flags, they will not be tested again before
+	returning to usermode. This means that a process can end up
+	with pending work, which will be unprocessed until the process
+	enters and leaves the kernel again, which could be an
+	unbounded amount of time.  This means that a pending signal or
+	reschedule event could be indefinitely delayed.
+
+	The fix is to notice a nested interrupt in the critical
+	window, and if one occurs, then fold the nested interrupt into
+	the current interrupt stack frame, and re-process it
+	iteratively rather than recursively.  This means that it will
+	exit via the normal path, and all pending work will be dealt
+	with appropriately.
+
+	Because the nested interrupt handler needs to deal with the
+	current stack state in whatever form its in, we keep things
+	simple by only using a single register which is pushed/popped
+	on the stack.
+
+	Non-direct iret could be done in the same way, but it would
+	require an annoying amount of code duplication.  We'll assume
+	that direct mode will be the common case once the hypervisor
+	support becomes commonplace.
+ */
+ENTRY(xen_iret_direct)
+	/* test eflags for special cases */
+	/*FIXME: use right offset for rFLAGS */
+	testl $(X86_EFLAGS_VM | XEN_EFLAGS_NMI), 8(rSP)
+	jnz hyper_iret
+
+	push rAX
+	ESP_OFFSET=4	# bytes pushed onto stack
+
+	/* Store vcpu_info pointer for easy access.  Do it this
+	   way to avoid having to reload %fs */
+	PER_CPU(xen_vcpu_info, rAX)
+
+	/* check IF state we're restoring */
+	/*FIXME: fix ESP offset */
+	/*FIXME: check WTF the magic numbers below mean */
+	testb $X86_EFLAGS_IF>>8, 8+1+ESP_OFFSET(rSP)
+
+	/* Maybe enable events.  Once this happens we could get a
+	   recursive event, so the critical region starts immediately
+	   afterwards.  However, if that happens we don't end up
+	   resuming the code, so we don't have to be worried about
+	   being preempted to another CPU. */
+	setz XEN_vcpu_info_mask(rAX)
+xen_iret_start_crit:
+
+	/* check for unmasked and pending */
+	cmpw $0x0001, XEN_vcpu_info_pending(%eax)
+
+	/* If there's something pending, mask events again so we
+	   can jump back into xen_hypervisor_callback */
+	sete XEN_vcpu_info_mask(%eax)
+
+	popl %eax
+
+	/* From this point on the registers are restored and the stack
+	   updated, so we don't need to worry about it if we're preempted */
+iret_restore_end:
+
+	/* Jump to hypervisor_callback after fixing up the stack.
+	   Events are masked, so jumping out of the critical
+	   region is OK. */
+	je xen_hypervisor_callback
+
+	iret
+xen_iret_end_crit:
+
+hyper_iret:
+	/* put this out of line since its very rarely used */
+	jmp hypercall_page + __HYPERVISOR_iret * 32
+
+	.globl xen_iret_start_crit, xen_iret_end_crit
+
+/*
+   This is called by xen_hypervisor_callback in entry.S when it sees
+   that the EIP at the time of interrupt was between xen_iret_start_crit
+   and xen_iret_end_crit.  We're passed the EIP in %eax so we can do
+   a more refined determination of what to do.
+
+   The stack format at this point is:
+	----------------
+	 ss		: (ss/esp may be present if we came from usermode)
+	 esp		:
+	 eflags		}  outer exception info
+	 cs		}
+	 eip		}
+	---------------- <- edi (copy dest)
+	 eax		:  outer eax if it hasn't been restored
+	----------------
+	 eflags		}  nested exception info
+	 cs		}   (no ss/esp because we're nested
+	 eip		}    from the same ring)
+	 orig_eax	}<- esi (copy src)
+	 - - - - - - - -
+	 fs		}
+	 es		}
+	 ds		}  SAVE_ALL state
+	 eax		}
+	  :		:
+	 ebx		}
+	----------------
+	 return addr	 <- esp
+	----------------
+
+   In order to deliver the nested exception properly, we need to shift
+   everything from the return addr up to the error code so it
+   sits just under the outer exception info.  This means that when we
+   handle the exception, we do it in the context of the outer exception
+   rather than starting a new one.
+
+   The only caveat is that if the outer eax hasn't been
+   restored yet (ie, it's still on stack), we need to insert
+   its value into the SAVE_ALL state before going on, since
+   it's usermode state which we eventually need to restore.
+ */
+ENTRY(xen_iret_crit_fixup)
+	/* offsets +4 for return address */
+
+	/*
+	   Paranoia: Make sure we're really coming from userspace.
+	   One could imagine a case where userspace jumps into the
+	   critical range address, but just before the CPU delivers a GP,
+	   it decides to deliver an interrupt instead.  Unlikely?
+	   Definitely.  Easy to avoid?  Yes.  The Intel documents
+	   explicitly say that the reported EIP for a bad jump is the
+	   jump instruction itself, not the destination, but some virtual
+	   environments get this wrong.
+	 */
+	movl PT_CS+4(%esp), %ecx
+	andl $SEGMENT_RPL_MASK, %ecx
+	cmpl $USER_RPL, %ecx
+	je 2f
+
+	lea PT_ORIG_EAX+4(%esp), %esi
+	lea PT_EFLAGS+4(%esp), %edi
+
+	/* If eip is before iret_restore_end then stack
+	   hasn't been restored yet. */
+	cmp $iret_restore_end, %eax
+	jae 1f
+
+	movl 0+4(%edi),%eax		/* copy EAX */
+	movl %eax, PT_EAX+4(%esp)
+
+	lea ESP_OFFSET(%edi),%edi	/* move dest up over saved regs */
+
+	/* set up the copy */
+1:	std
+	mov $(PT_EIP+4) / 4, %ecx	/* copy ret+saved regs up to orig_eax */
+	rep movsl
+	cld
+
+	lea 4(%edi),%esp		/* point esp to new frame */
+2:	ret
+
+
+/*
+	Force an event check by making a hypercall,
+	but preserve regs before making the call.
+ */
+check_events:
+	push %eax
+	push %ecx
+	push %edx
+	call force_evtchn_callback
+	pop %edx
+	pop %ecx
+	pop %eax
+	ret
+
diff --git a/arch/x86/xen/xen-asm_64.S b/arch/x86/xen/xen-asm_64.S
new file mode 100644
index 0000000..38443b8
--- /dev/null
+++ b/arch/x86/xen/xen-asm_64.S
@@ -0,0 +1,8 @@
+check_events:
+	/*FIXME: implement me! */
+	ud2a
+
+
+ENTRY(xen_iret_direct)
+	/*FIXME: implement me! */
+	ud2a
diff --git a/arch/x86/xen/xen-head.S b/arch/x86/xen/xen-head.S
index 288d587..ec5d622 100644
--- a/arch/x86/xen/xen-head.S
+++ b/arch/x86/xen/xen-head.S
@@ -7,12 +7,14 @@
 #include <linux/init.h>
 #include <asm/boot.h>
 #include <xen/interface/elfnote.h>
+#include <asm/asm-hack.h>
+
 
 	__INIT
 ENTRY(startup_xen)
-	movl %esi,xen_start_info
+ 	MOV rSI,xen_start_info
 	cld
-	movl $(init_thread_union+THREAD_SIZE),%esp
+ 	MOV $(init_thread_union+THREAD_SIZE),rSP
 	jmp xen_start_kernel
 
 	__FINIT
@@ -26,14 +28,24 @@ ENTRY(hypercall_page)
 	ELFNOTE(Xen, XEN_ELFNOTE_GUEST_OS,       .asciz "linux")
 	ELFNOTE(Xen, XEN_ELFNOTE_GUEST_VERSION,  .asciz "2.6")
 	ELFNOTE(Xen, XEN_ELFNOTE_XEN_VERSION,    .asciz "xen-3.0")
+#ifdef CONFIG_X86_32
 	ELFNOTE(Xen, XEN_ELFNOTE_VIRT_BASE,      .long  __PAGE_OFFSET)
 	ELFNOTE(Xen, XEN_ELFNOTE_ENTRY,          .long  startup_xen)
 	ELFNOTE(Xen, XEN_ELFNOTE_HYPERCALL_PAGE, .long  hypercall_page)
+#else
+	ELFNOTE(Xen, XEN_ELFNOTE_VIRT_BASE,      .quad  __START_KERNEL_map)
+	ELFNOTE(Xen, XEN_ELFNOTE_PADDR_OFFSET,   .quad  0)
+	ELFNOTE(Xen, XEN_ELFNOTE_ENTRY,          .quad  startup_64)
+	ELFNOTE(Xen, XEN_ELFNOTE_L1_MFN_VALID,   .quad  _PAGE_PRESENT,_PAGE_PRESENT)
+#endif
+
 	ELFNOTE(Xen, XEN_ELFNOTE_FEATURES,       .asciz "!writable_page_tables|pae_pgdir_above_4gb")
-#ifdef CONFIG_X86_PAE
+#ifdef CONFIG_X86_32
+#  ifdef CONFIG_X86_PAE
 	ELFNOTE(Xen, XEN_ELFNOTE_PAE_MODE,       .asciz "yes")
-#else
+#  else
 	ELFNOTE(Xen, XEN_ELFNOTE_PAE_MODE,       .asciz "no")
+#  endif
 #endif
 	ELFNOTE(Xen, XEN_ELFNOTE_LOADER,         .asciz "generic")
 
diff --git a/include/asm-x86/asm-hack.h b/include/asm-x86/asm-hack.h
new file mode 100644
index 0000000..b7c2a66
--- /dev/null
+++ b/include/asm-x86/asm-hack.h
@@ -0,0 +1,27 @@
+#ifndef __ASM_ASM_HACK_H
+
+#ifdef CONFIG_X86_64
+#  define SUFFIX  q
+#  define REGPREF r
+#else
+#  define SUFFIX  l
+#  define REGPREF e
+#endif
+
+#define  __REG(pref, reg) %pref##reg
+#define  _REG(pref, reg) __REG(pref, reg)
+#define  REG(reg) _REG(REGPREF, reg)
+
+#define  __INSN(in, suff) in##suff
+#define  _INSN(in, suff) __INSN(in, suff)
+#define  INSN(in) _INSN(in, SUFFIX)
+
+#define  rAX REG(ax)
+#define  rSP REG(sp)
+#define  rSI REG(si)
+#define  rDI REG(di)
+
+#define  MOV INSN(mov)
+#define  AND INSN(and)
+
+#endif /* __ASM_ASM_HACK_H */
diff --git a/include/asm-x86/smp_64.h b/include/asm-x86/smp_64.h
index e0a7551..48630c1 100644
--- a/include/asm-x86/smp_64.h
+++ b/include/asm-x86/smp_64.h
@@ -97,5 +97,8 @@ static inline int hard_smp_processor_id(void)
 	return GET_APIC_ID(*(u32 *)(APIC_BASE + APIC_ID));
 }
 
+extern void smp_store_cpu_info(int id);
+extern void set_cpu_sibling_map(int cpu);
+
 #endif
 
diff --git a/include/linux/elfnote.h b/include/linux/elfnote.h
index 278e3ef..9f9816a 100644
--- a/include/linux/elfnote.h
+++ b/include/linux/elfnote.h
@@ -52,7 +52,7 @@
 4484:.balign 4				;	\
 .popsection				;
 
-#define ELFNOTE(name, type, desc)		\
+#define ELFNOTE(name, type, desc...)		\
 	ELFNOTE_START(name, type, "")		\
 		desc			;	\
 	ELFNOTE_END
diff --git a/include/xen/interface/elfnote.h b/include/xen/interface/elfnote.h
index a64d3df..ee5501d 100644
--- a/include/xen/interface/elfnote.h
+++ b/include/xen/interface/elfnote.h
@@ -120,6 +120,22 @@
  */
 #define XEN_ELFNOTE_BSD_SYMTAB    11
 
+/*
+ * The lowest address the hypervisor hole can begin at (numeric).
+ *
+ * This must not be set higher than HYPERVISOR_VIRT_START. Its presence
+ * also indicates to the hypervisor that the kernel can deal with the
+ * hole starting at a higher address.
+ */
+#define XEN_ELFNOTE_HV_START_LOW  12
+
+/*
+ * List of maddr_t-sized mask/value pairs describing how to recognize
+ * (non-present) L1 page table entries carrying valid MFNs (numeric).
+ */
+#define XEN_ELFNOTE_L1_MFN_VALID  13
+
+
 #endif /* __XEN_PUBLIC_ELFNOTE_H__ */
 
 /*
-- 
1.5.4.1


linux-2.6-xen-0047-xen-asm.S-x86_64-notes.patch:

--- NEW FILE linux-2.6-xen-0047-xen-asm.S-x86_64-notes.patch ---
>From 64d5c30ac57ff905d8d3fed02f5660fadb3909bd Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at redhat.com>
Date: Tue, 4 Dec 2007 14:43:21 -0200
Subject: [PATCH] xen-asm.S: x86_64 notes

- Point to right entrypoint (startup_xen)
- Point to hypercall_page

Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
---
 arch/x86/xen/xen-head.S |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/arch/x86/xen/xen-head.S b/arch/x86/xen/xen-head.S
index ec5d622..429e8f3 100644
--- a/arch/x86/xen/xen-head.S
+++ b/arch/x86/xen/xen-head.S
@@ -33,9 +33,10 @@ ENTRY(hypercall_page)
 	ELFNOTE(Xen, XEN_ELFNOTE_ENTRY,          .long  startup_xen)
 	ELFNOTE(Xen, XEN_ELFNOTE_HYPERCALL_PAGE, .long  hypercall_page)
 #else
+	ELFNOTE(Xen, XEN_ELFNOTE_ENTRY,          .quad  startup_xen)
+	ELFNOTE(Xen, XEN_ELFNOTE_HYPERCALL_PAGE, .quad  hypercall_page)
 	ELFNOTE(Xen, XEN_ELFNOTE_VIRT_BASE,      .quad  __START_KERNEL_map)
 	ELFNOTE(Xen, XEN_ELFNOTE_PADDR_OFFSET,   .quad  0)
-	ELFNOTE(Xen, XEN_ELFNOTE_ENTRY,          .quad  startup_64)
 	ELFNOTE(Xen, XEN_ELFNOTE_L1_MFN_VALID,   .quad  _PAGE_PRESENT,_PAGE_PRESENT)
 #endif
 
-- 
1.5.4.1


linux-2.6-xen-0048-xen-x86_64-Make-hypercall-assembly-code-work.patch:

--- NEW FILE linux-2.6-xen-0048-xen-x86_64-Make-hypercall-assembly-code-work.patch ---
>From 9afe3f56b4e301237fab01ebae01069545bb7942 Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at redhat.com>
Date: Tue, 4 Dec 2007 16:25:41 -0200
Subject: [PATCH] xen x86_64: Make hypercall assembly code work

Se comment for explanation.

Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
---
 include/asm-x86/xen/hypercall.h |  113 ++++++++++++++++++++++++++++++--------
 1 files changed, 89 insertions(+), 24 deletions(-)

diff --git a/include/asm-x86/xen/hypercall.h b/include/asm-x86/xen/hypercall.h
index cbf3d52..605775e 100644
--- a/include/asm-x86/xen/hypercall.h
+++ b/include/asm-x86/xen/hypercall.h
@@ -42,13 +42,42 @@
 
 extern struct { char _entry[32]; } hypercall_page[];
 
+#define __STR(x) #x
+#define STR(x) __STR(x)
+
+/* We could let gcc handle the asm operand generation for us, and
+ * use hypercall_page[__HYPERVISOR_##name] as a asm "m" or "i" operand.
+ *
+ * On i386, a "m" operand works for a direct call, but on x86_64,
+ * gcc generates a %rip-relative operand and the assembler generates
+ * an indirect call (and emits a warning).
+ *
+ *
+ * A "i" operand could work, but at least on x86_64, gcc generates
+ * the following:
+ *
+ * 	call $hypercall_page+555
+ *
+ * That is rejected by the assembler with the error "suffix or operands
+ * invalid for `call'"
+ */
+#define HYPERCALL_STR(name)						\
+	"call hypercall_page + ("STR(__HYPERVISOR_##name)" * 32)"
+
+#ifdef CONFIG_X86_64
+#define IGN1 "=D"
+#define IGN2 "=S"
+#else
+#define IGN1 "=b"
+#define IGN2 "=c"
+#endif
+
 #define _hypercall0(type, name)						\
 ({									\
 	long __res;							\
 	asm volatile (							\
-		"call %[call]"						\
+		HYPERCALL_STR(name)					\
 		: "=a" (__res)						\
-		: [call] "m" (hypercall_page[__HYPERVISOR_##name])	\
 		: "memory" );						\
 	(type)__res;							\
 })
@@ -57,10 +86,9 @@ extern struct { char _entry[32]; } hypercall_page[];
 ({									\
 	long __res, __ign1;						\
 	asm volatile (							\
-		"call %[call]"						\
-		: "=a" (__res), "=b" (__ign1)				\
-		: "1" ((long)(a1)),					\
-		  [call] "m" (hypercall_page[__HYPERVISOR_##name])	\
+		HYPERCALL_STR(name)					\
+		: "=a" (__res), IGN1(__ign1)				\
+		: "1" ((long)(a1))					\
 		: "memory" );						\
 	(type)__res;							\
 })
@@ -69,10 +97,9 @@ extern struct { char _entry[32]; } hypercall_page[];
 ({									\
 	long __res, __ign1, __ign2;					\
 	asm volatile (							\
-		"call %[call]"						\
-		: "=a" (__res), "=b" (__ign1), "=c" (__ign2)		\
-		: "1" ((long)(a1)), "2" ((long)(a2)),			\
-		  [call] "m" (hypercall_page[__HYPERVISOR_##name])	\
+		HYPERCALL_STR(name)					\
+		: "=a" (__res), IGN1(__ign1), IGN2(__ign2)		\
+		: "1" ((long)(a1)), "2" ((long)(a2))			\
 		: "memory" );						\
 	(type)__res;							\
 })
@@ -81,27 +108,64 @@ extern struct { char _entry[32]; } hypercall_page[];
 ({									\
 	long __res, __ign1, __ign2, __ign3;				\
 	asm volatile (							\
-		"call %[call]"						\
-		: "=a" (__res), "=b" (__ign1), "=c" (__ign2),		\
+		HYPERCALL_STR(name)					\
+		: "=a" (__res), IGN1(__ign1), IGN2(__ign2),		\
 		"=d" (__ign3)						\
 		: "1" ((long)(a1)), "2" ((long)(a2)),			\
-		  "3" ((long)(a3)),					\
-		  [call] "m" (hypercall_page[__HYPERVISOR_##name])	\
+		  "3" ((long)(a3))					\
 		: "memory" );						\
 	(type)__res;							\
 })
 
+/* The hypercalls below are handled differently on x86_64 because
+ * of the way the 4th and following parameters are passed to the asm
+ * block.
+ */
+
+#ifdef CONFIG_X86_64
+
+#define _hypercall4(type, name, a1, a2, a3, a4)			\
+({								\
+	long __res, __ign1, __ign2, __ign3;			\
+	asm volatile (						\
+		"movq %7,%%r10; "				\
+		HYPERCALL_STR(name)				\
+		: "=a" (__res), IGN1(__ign1), IGN2(__ign2),	\
+		"=d" (__ign3)					\
+		: "1" ((long)(a1)), "2" ((long)(a2)),		\
+		"3" ((long)(a3)), "g" ((long)(a4))		\
+		: "memory", "r10");				\
+	(type)__res;						\
+})
+
+#define _hypercall5(type, name, a1, a2, a3, a4, a5)		\
+({								\
+	long __res, __ign1, __ign2, __ign3;			\
+	asm volatile (						\
+		"movq %7,%%r10; movq %8,%%r8; "			\
+		HYPERCALL_STR(name)				\
+		: "=a" (__res), IGN1(__ign1), IGN2(__ign2),	\
+		"=d" (__ign3)					\
+		: "1" ((long)(a1)), "2" ((long)(a2)),		\
+		"3" ((long)(a3)), "g" ((long)(a4)),		\
+		"g" ((long)(a5))				\
+		: "memory", "r10", "r8");			\
+	(type)__res;						\
+})
+
+
+#else
+
 #define _hypercall4(type, name, a1, a2, a3, a4)				\
 ({									\
 	long __res, __ign1, __ign2, __ign3, __ign4;			\
 	asm volatile (							\
-		"call %[call]"						\
-		: "=a" (__res), "=b" (__ign1), "=c" (__ign2),		\
+		HYPERCALL_STR(name)					\
+		: "=a" (__res), IGN1(__ign1), IGN2(__ign2),		\
 		"=d" (__ign3), "=S" (__ign4)				\
 		: "1" ((long)(a1)), "2" ((long)(a2)),			\
-		  "3" ((long)(a3)), "4" ((long)(a4)),			\
-		  [call] "m" (hypercall_page[__HYPERVISOR_##name])	\
-		: "memory" );						\
+		  "3" ((long)(a3)), "4" ((long)(a4))			\
+		: "memory");						\
 	(type)__res;							\
 })
 
@@ -109,17 +173,18 @@ extern struct { char _entry[32]; } hypercall_page[];
 ({									\
 	long __res, __ign1, __ign2, __ign3, __ign4, __ign5;		\
 	asm volatile (							\
-		"call %[call]"						\
-		: "=a" (__res), "=b" (__ign1), "=c" (__ign2),		\
+		HYPERCALL_STR(name)					\
+		: "=a" (__res), IGN1(__ign1), IGN2(__ign2),		\
 		"=d" (__ign3), "=S" (__ign4), "=D" (__ign5)		\
 		: "1" ((long)(a1)), "2" ((long)(a2)),			\
 		  "3" ((long)(a3)), "4" ((long)(a4)),			\
-		  "5" ((long)(a5)),					\
-		  [call] "m" (hypercall_page[__HYPERVISOR_##name])	\
-		: "memory" );						\
+		  "5" ((long)(a5))					\
+		: "memory");						\
 	(type)__res;							\
 })
 
+#endif
+
 #if defined(CONFIG_X86_64)
 #define MULTI_UVMFLAGS_INDEX 2
 #define MULTI_UVMDOMID_INDEX 3
-- 
1.5.4.1


linux-2.6-xen-0049-xen-x86_64-pda-initialization.patch:

--- NEW FILE linux-2.6-xen-0049-xen-x86_64-pda-initialization.patch ---
>From 60d8717fc3ef3d84890db37e2b62ae2ff618377f Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at redhat.com>
Date: Tue, 4 Dec 2007 17:01:56 -0200
Subject: [PATCH] xen x86_64 pda initialization

Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
---
 arch/x86/xen/enlighten.c |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 48a9e35..bb97446 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -45,6 +45,7 @@
 #include <asm/pgtable.h>
 #include <asm/tlbflush.h>
 #include <asm/reboot.h>
+#include <asm/proto.h>
 
 #include "xen-ops.h"
 #include "mmu.h"
@@ -1229,6 +1230,19 @@ asmlinkage void __init xen_start_kernel(void)
 
 	BUG_ON(memcmp(xen_start_info->magic, "xen-3", 5) != 0);
 
+#ifdef CONFIG_X86_64
+	{
+		/*FIXME: move this to common code
+		 * (it is duplicated on x86_64_start_kernel()
+		 */
+		int i;
+		for (i = 0; i < NR_CPUS; i++)
+			cpu_pda(i) = &boot_cpu_pda[i];
+
+		pda_init(0);
+	}
+#endif
+
 	/* Install Xen paravirt ops */
 	pv_info = xen_info;
 	pv_init_ops = xen_init_ops;
-- 
1.5.4.1


linux-2.6-xen-0050-Disable-discover_ebda-under-paravirt.patch:

--- NEW FILE linux-2.6-xen-0050-Disable-discover_ebda-under-paravirt.patch ---
>From bc25359e87496b6d75e0f39003ee4a6e03bfad7f Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at redhat.com>
Date: Wed, 5 Dec 2007 16:58:09 -0200
Subject: [PATCH] Disable discover_ebda() under paravirt

Temporary solution. Should be discussed.

Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
---
 arch/x86/kernel/head64.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/arch/x86/kernel/head64.c b/arch/x86/kernel/head64.c
index ad24408..df8e1fc 100644
--- a/arch/x86/kernel/head64.c
+++ b/arch/x86/kernel/head64.c
@@ -55,6 +55,10 @@ static __init void reserve_ebda(void)
 {
 	unsigned ebda_addr, ebda_size;
 
+	if (paravirt_enabled())
+		/* We don't have access to this physical address under Xen */
+		return;
+
 	/*
 	 * there is a real-mode segmented pointer pointing to the
 	 * 4K EBDA area at 0x40E
-- 
1.5.4.1


linux-2.6-xen-0051-Disable-early_printk-by-default.patch:

--- NEW FILE linux-2.6-xen-0051-Disable-early_printk-by-default.patch ---
>From b938d7db81845ca1c0896b9c42e52113728e717c Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at redhat.com>
Date: Wed, 5 Dec 2007 17:21:53 -0200
Subject: [PATCH] Disable early_printk() by default

Temporary until a better solution for automatically skipping the VGA
console is found.

Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
---
 arch/x86/kernel/early_printk.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kernel/early_printk.c b/arch/x86/kernel/early_printk.c
index cff84cd..4c70cc4 100644
--- a/arch/x86/kernel/early_printk.c
+++ b/arch/x86/kernel/early_printk.c
@@ -193,7 +193,7 @@ static struct console simnow_console = {
 };
 
 /* Direct interface for emergencies */
-static struct console *early_console = &early_vga_console;
+static struct console *early_console;
 static int early_console_initialized = 0;
 
 void early_printk(const char *fmt, ...)
@@ -204,7 +204,8 @@ void early_printk(const char *fmt, ...)
 
 	va_start(ap,fmt);
 	n = vscnprintf(buf,512,fmt,ap);
-	early_console->write(early_console,buf,n);
+	if (likely(early_console))
+		early_console->write(early_console,buf,n);
 	va_end(ap);
 }
 
-- 
1.5.4.1


linux-2.6-xen-0052-xen-Set-__HYPERVISOR_VIRT_START-for-x86_64.patch:

--- NEW FILE linux-2.6-xen-0052-xen-Set-__HYPERVISOR_VIRT_START-for-x86_64.patch ---
>From 47912ebbfdf3b71ac73fb06274fc728de951896c Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at redhat.com>
Date: Wed, 5 Dec 2007 17:43:29 -0200
Subject: [PATCH] xen: Set __HYPERVISOR_VIRT_START for x86_64

Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
---
 include/asm-x86/xen/interface.h |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/include/asm-x86/xen/interface.h b/include/asm-x86/xen/interface.h
index 165c396..563074c 100644
--- a/include/asm-x86/xen/interface.h
+++ b/include/asm-x86/xen/interface.h
@@ -72,10 +72,14 @@ DEFINE_GUEST_HANDLE(void);
  * Virtual addresses beyond this are not modifiable by guest OSes. The
  * machine->physical mapping table starts at this address, read-only.
  */
-#ifdef CONFIG_X86_PAE
-#define __HYPERVISOR_VIRT_START 0xF5800000
+#ifdef CONFIG_X86_64
+#define __HYPERVISOR_VIRT_START 0xFFFF800000000000
 #else
-#define __HYPERVISOR_VIRT_START 0xFC000000
+#  ifdef CONFIG_X86_PAE
+#    define __HYPERVISOR_VIRT_START 0xF5800000
+#  else
+#    define __HYPERVISOR_VIRT_START 0xFC000000
+#  endif
 #endif
 
 #ifndef HYPERVISOR_VIRT_START
-- 
1.5.4.1


linux-2.6-xen-0053-Set-__PAGE_OFFSET-as-required-by-Xen.patch:

--- NEW FILE linux-2.6-xen-0053-Set-__PAGE_OFFSET-as-required-by-Xen.patch ---
>From e15f16fe6f940aa7bbba7cd1ecf8ae4c8d067034 Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost at redhat.com>
Date: Wed, 5 Dec 2007 17:45:55 -0200
Subject: [PATCH] Set __PAGE_OFFSET as required by Xen

This will need some discussion. __va() is used everywhere and calculated
on compile-time. What if some hypervisor somewhere needs a different
__PAGE_OFFSET too?

Signed-off-by: Eduardo Habkost <ehabkost at redhat.com>
---
 include/asm-x86/page_64.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/include/asm-x86/page_64.h b/include/asm-x86/page_64.h
index 1435460..c79aa87 100644
--- a/include/asm-x86/page_64.h
+++ b/include/asm-x86/page_64.h
@@ -26,7 +26,7 @@
 #define PUD_PAGE_SIZE		(_AC(1, UL) << PUD_SHIFT)
 #define PUD_PAGE_MASK		(~(PUD_PAGE_SIZE-1))
 
-#define __PAGE_OFFSET           _AC(0xffff810000000000, UL)
+#define __PAGE_OFFSET           _AC(0xffff880000000000, UL)
 
 #define __PHYSICAL_START	CONFIG_PHYSICAL_START
 #define __KERNEL_ALIGN		0x200000
-- 
1.5.4.1


linux-2.6-xen-0054-DEBUG-Add-xprintk-to-log-directly-via-hypercall-fo.patch:

--- NEW FILE linux-2.6-xen-0054-DEBUG-Add-xprintk-to-log-directly-via-hypercall-fo.patch ---
>From 564301180e159d811dc236dd89ab1b95c25d473d Mon Sep 17 00:00:00 2001
From: Stephen Tweedie <sct at redhat.com>
Date: Wed, 21 Nov 2007 18:40:31 +0000
Subject: [PATCH] DEBUG: Add xprintk to log directly via hypercall, for early debugging

Signed-off-by: Stephen Tweedie <sct at redhat.com>
---
 arch/x86/xen/enlighten.c |   31 +++++++++++++++++++++++++++++++
 1 files changed, 31 insertions(+), 0 deletions(-)

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index bb97446..b091b1c 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -137,6 +137,37 @@ static void __init xen_vcpu_setup(int cpu)
 	}
 }
 
+static void kcons_write_dom0(const char *s, unsigned int count)
+{
+       int rc;
+
+       while ((count > 0) &&
+              ((rc = HYPERVISOR_console_io(
+                       CONSOLEIO_write, count, (char *)s)) > 0)) {
+               count -= rc;
+               s += rc;
+       }
+}
+
+
+/*** Useful function for console debugging -- goes straight to Xen. ***/
+asmlinkage int xprintk(const char *fmt, ...)
+{
+       va_list args;
+       int printk_len;
+       static char printk_buf[1024];
+
+       /* Emit the output into the temporary buffer */
+       va_start(args, fmt);
+       printk_len = vsnprintf(printk_buf, sizeof(printk_buf), fmt, args);
+       va_end(args);
+
+       /* Send the processed output directly to Xen. */
+       kcons_write_dom0(printk_buf, printk_len);
+
+       return 0;
+}
+
 static void __init xen_banner(void)
 {
 	printk(KERN_INFO "Booting paravirtualized kernel on %s\n",
-- 
1.5.4.1


linux-2.6-xen-0055-DEBUG-Add-xprintk-debugging-printk-prototype-to-hvc.patch:

--- NEW FILE linux-2.6-xen-0055-DEBUG-Add-xprintk-debugging-printk-prototype-to-hvc.patch ---
>From 2e2648674581f71931e30e448def0e4724f9317f Mon Sep 17 00:00:00 2001
From: Stephen Tweedie <sct at redhat.com>
Date: Tue, 27 Nov 2007 12:56:49 +0000
Subject: [PATCH] DEBUG: Add xprintk debugging-printk prototype to hvc-console.h.

Signed-off-by: Stephen Tweedie <sct at redhat.com>
---
 arch/x86/xen/enlighten.c  |    1 +
 include/xen/hvc-console.h |    1 +
 2 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index b091b1c..a676a23 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -33,6 +33,7 @@
 #include <xen/interface/sched.h>
 #include <xen/features.h>
 #include <xen/page.h>
+#include <xen/hvc-console.h>
 
 #include <asm/paravirt.h>
 #include <asm/page.h>
diff --git a/include/xen/hvc-console.h b/include/xen/hvc-console.h
index 21c0ecf..cb7a3c9 100644
--- a/include/xen/hvc-console.h
+++ b/include/xen/hvc-console.h
@@ -2,5 +2,6 @@
 #define XEN_HVC_CONSOLE_H
 
 extern struct console xenboot_console;
+extern asmlinkage int xprintk(const char *fmt, ...);
 
 #endif	/* XEN_HVC_CONSOLE_H */
-- 
1.5.4.1







Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/kernel.spec,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -r1.35 -r1.36
--- kernel.spec	14 Apr 2008 16:06:53 -0000	1.35
+++ kernel.spec	14 Apr 2008 16:50:37 -0000	1.36
@@ -685,46 +685,46 @@
 Patch5012: linux-2.6-xen-0013-xen-Add-proc-xen-privcmd.patch
 Patch5013: linux-2.6-xen-0014-xen-Add-proc-xen-xenbus.patch
 Patch5014: linux-2.6-xen-0015-xen-Add-Xen-s-sys-hypervisor-interface.patch
-Patch5015: linux-2.6-xen-0016-xen-debug-Add-xprintk-to-log-directly-via-hypercall.patch
-Patch5016: linux-2.6-xen-0017-xen-x86_64-Add-64-bit-version-of-privcmd_hypercall.patch
-Patch5017: linux-2.6-xen-0018-xen-x86_64-Only-define-load_user_cs_desc-on-32-bi.patch
-Patch5018: linux-2.6-xen-0019-xen-expose-set_pte_vaddr-and-make-xen-use-it.patch
-Patch5019: linux-2.6-xen-0020-xen-dom0-Add-set_fixmap-pv_mmu_ops.patch
-Patch5020: linux-2.6-xen-0021-x86_64-Expose-set_pte_vaddr.patch
-Patch5021: linux-2.6-xen-0022-x86_64-Split-set_pte_vaddr.patch
-Patch5022: linux-2.6-xen-0023-x86_64-Add-clear_fixmap.patch
-Patch5023: linux-2.6-xen-0024-xen-x86_64-Make-set_fixmap-a-paravirt-op-on-64-bi.patch
-Patch5024: linux-2.6-xen-0025-xen-x86_64-Hack-to-set-vsyscall-pages-on-user-space.patch
-Patch5025: linux-2.6-xen-0026-Handle-VSYSCALL_FIRST_PAGE-on-xen_set_pte.patch
-Patch5026: linux-2.6-xen-0027-DMI-Define-dmi_scan_machine-as-no-op-if-CONFIG_DM.patch
-Patch5027: linux-2.6-xen-0028-ACPI-thermal-Compile-without-CONFIG_DMI.patch
-Patch5028: linux-2.6-xen-0029-xen-x86_64-Remove-the-640K-1M-hole-and-disable-DMI.patch
-Patch5029: linux-2.6-xen-0030-xen-x86_64-Add-update_va_mapping-64-bit-code.patch
-Patch5030: linux-2.6-xen-0031-x86_64-Add-sync_cmpxchg.patch
-Patch5031: linux-2.6-xen-0032-xen-x86_64-Implement-HYPERVISOR-MULTI-_update_desc.patch
-Patch5032: linux-2.6-xen-0033-xen-x86_64-Add-hacky-64-bit-x86_-read-write-_percpu.patch
-Patch5033: linux-2.6-xen-0034-xen-x86_64-Use-x86_read_percpu-only-to-refer-to-a.patch
-Patch5034: linux-2.6-xen-0035-Better-implementation-of-pte-functions.patch
-Patch5035: linux-2.6-xen-0036-Add-FIX_PARAVIRT_BOOTAP-to-fixmap_64.h-too.patch
-Patch5036: linux-2.6-xen-0037-Add-gate_offset-and-gate_segment-macros.patch
-Patch5037: linux-2.6-xen-0038-xen_write_idt_entry-and-cvt_gate_to_trap.patch
-Patch5038: linux-2.6-xen-0039-typedefs-for-pte_val-and-friends.patch
-Patch5039: linux-2.6-xen-0040-x86_64-implementation-of-some-page.h-macros.patch
-Patch5040: linux-2.6-xen-0041-Chainsaw-style-ifdefs.patch
-Patch5041: linux-2.6-xen-0042-xen-Make-xen_pte_val-generic.patch
-Patch5042: linux-2.6-xen-0043-More-chainsaw-ifdefs.patch
-Patch5043: linux-2.6-xen-0044-Chainsaw-ifdefs-on-assembly-percpu-handling.patch
-Patch5044: linux-2.6-xen-0045-x86_64-percpu-assembly-macros.patch
-Patch5045: linux-2.6-xen-0046-Some-xen-asm.S-x86_64-code.patch
-Patch5046: linux-2.6-xen-0047-Chainsaw-party-SPLITME.patch
-Patch5047: linux-2.6-xen-0048-xen-asm.S-x86_64-notes.patch
-Patch5048: linux-2.6-xen-0049-xen-x86_64-Make-hypercall-assembly-code-work.patch
-Patch5049: linux-2.6-xen-0050-xen-x86_64-pda-initialization.patch
-Patch5050: linux-2.6-xen-0051-Disable-discover_ebda-under-paravirt.patch
-Patch5051: linux-2.6-xen-0052-Disable-early_printk-by-default.patch
-Patch5052: linux-2.6-xen-0053-xen-Set-__HYPERVISOR_VIRT_START-for-x86_64.patch
-Patch5053: linux-2.6-xen-0054-Set-__PAGE_OFFSET-as-required-by-Xen.patch
-Patch5054: linux-2.6-xen-0055-DEBUG-Add-xprintk-to-log-directly-via-hypercall-fo.patch
+Patch5015: linux-2.6-xen-0016-xen-x86_64-Add-64-bit-version-of-privcmd_hypercall.patch
+Patch5016: linux-2.6-xen-0017-xen-x86_64-Only-define-load_user_cs_desc-on-32-bi.patch
+Patch5017: linux-2.6-xen-0018-xen-expose-set_pte_vaddr-and-make-xen-use-it.patch
+Patch5018: linux-2.6-xen-0019-xen-dom0-Add-set_fixmap-pv_mmu_ops.patch
+Patch5019: linux-2.6-xen-0020-x86_64-Expose-set_pte_vaddr.patch
+Patch5020: linux-2.6-xen-0021-x86_64-Split-set_pte_vaddr.patch
+Patch5021: linux-2.6-xen-0022-x86_64-Add-clear_fixmap.patch
+Patch5022: linux-2.6-xen-0023-xen-x86_64-Make-set_fixmap-a-paravirt-op-on-64-bi.patch
+Patch5023: linux-2.6-xen-0024-xen-x86_64-Hack-to-set-vsyscall-pages-on-user-space.patch
+Patch5024: linux-2.6-xen-0025-Handle-VSYSCALL_FIRST_PAGE-on-xen_set_pte.patch
+Patch5025: linux-2.6-xen-0026-DMI-Define-dmi_scan_machine-as-no-op-if-CONFIG_DM.patch
+Patch5026: linux-2.6-xen-0027-ACPI-thermal-Compile-without-CONFIG_DMI.patch
+Patch5027: linux-2.6-xen-0028-xen-x86_64-Remove-the-640K-1M-hole-and-disable-DMI.patch
+Patch5028: linux-2.6-xen-0029-xen-x86_64-Add-update_va_mapping-64-bit-code.patch
+Patch5029: linux-2.6-xen-0030-x86_64-Add-sync_cmpxchg.patch
+Patch5030: linux-2.6-xen-0031-xen-x86_64-Implement-HYPERVISOR-MULTI-_update_desc.patch
+Patch5031: linux-2.6-xen-0032-xen-x86_64-Add-hacky-64-bit-x86_-read-write-_percpu.patch
+Patch5032: linux-2.6-xen-0033-xen-x86_64-Use-x86_read_percpu-only-to-refer-to-a.patch
+Patch5033: linux-2.6-xen-0034-Better-implementation-of-pte-functions.patch
+Patch5034: linux-2.6-xen-0035-Add-FIX_PARAVIRT_BOOTAP-to-fixmap_64.h-too.patch
+Patch5035: linux-2.6-xen-0036-Add-gate_offset-and-gate_segment-macros.patch
+Patch5036: linux-2.6-xen-0037-xen_write_idt_entry-and-cvt_gate_to_trap.patch
+Patch5037: linux-2.6-xen-0038-typedefs-for-pte_val-and-friends.patch
+Patch5038: linux-2.6-xen-0039-x86_64-implementation-of-some-page.h-macros.patch
+Patch5039: linux-2.6-xen-0040-Chainsaw-style-ifdefs.patch
+Patch5040: linux-2.6-xen-0041-xen-Make-xen_pte_val-generic.patch
+Patch5041: linux-2.6-xen-0042-More-chainsaw-ifdefs.patch
+Patch5042: linux-2.6-xen-0043-Chainsaw-ifdefs-on-assembly-percpu-handling.patch
+Patch5043: linux-2.6-xen-0044-x86_64-percpu-assembly-macros.patch
+Patch5044: linux-2.6-xen-0045-Some-xen-asm.S-x86_64-code.patch
+Patch5045: linux-2.6-xen-0046-Chainsaw-party-SPLITME.patch
+Patch5046: linux-2.6-xen-0047-xen-asm.S-x86_64-notes.patch
+Patch5047: linux-2.6-xen-0048-xen-x86_64-Make-hypercall-assembly-code-work.patch
+Patch5048: linux-2.6-xen-0049-xen-x86_64-pda-initialization.patch
+Patch5049: linux-2.6-xen-0050-Disable-discover_ebda-under-paravirt.patch
+Patch5050: linux-2.6-xen-0051-Disable-early_printk-by-default.patch
+Patch5051: linux-2.6-xen-0052-xen-Set-__HYPERVISOR_VIRT_START-for-x86_64.patch
+Patch5052: linux-2.6-xen-0053-Set-__PAGE_OFFSET-as-required-by-Xen.patch
+Patch5053: linux-2.6-xen-0054-DEBUG-Add-xprintk-to-log-directly-via-hypercall-fo.patch
+Patch5054: linux-2.6-xen-0055-DEBUG-Add-xprintk-debugging-printk-prototype-to-hvc.patch
 Patch5055: linux-2.6-xen-0056-Use-__pgd-on-mk_kernel_pgd.patch
 Patch5056: linux-2.6-xen-0057-Include-user-page-tables-on-head_64.S.patch
 Patch5057: linux-2.6-xen-0058-Avoid-using-mk_unsigned_long.patch
@@ -1382,46 +1382,46 @@
 ApplyPatch linux-2.6-xen-0014-xen-Add-proc-xen-xenbus.patch
 ApplyPatch linux-2.6-xen-0015-xen-Add-Xen-s-sys-hypervisor-interface.patch
 %ifarch x86_64
-ApplyPatch linux-2.6-xen-0016-xen-debug-Add-xprintk-to-log-directly-via-hypercall.patch
-ApplyPatch linux-2.6-xen-0017-xen-x86_64-Add-64-bit-version-of-privcmd_hypercall.patch
-ApplyPatch linux-2.6-xen-0018-xen-x86_64-Only-define-load_user_cs_desc-on-32-bi.patch
-ApplyPatch linux-2.6-xen-0019-xen-expose-set_pte_vaddr-and-make-xen-use-it.patch
-ApplyPatch linux-2.6-xen-0020-xen-dom0-Add-set_fixmap-pv_mmu_ops.patch
-ApplyPatch linux-2.6-xen-0021-x86_64-Expose-set_pte_vaddr.patch
-ApplyPatch linux-2.6-xen-0022-x86_64-Split-set_pte_vaddr.patch
-ApplyPatch linux-2.6-xen-0023-x86_64-Add-clear_fixmap.patch
-ApplyPatch linux-2.6-xen-0024-xen-x86_64-Make-set_fixmap-a-paravirt-op-on-64-bi.patch
-ApplyPatch linux-2.6-xen-0025-xen-x86_64-Hack-to-set-vsyscall-pages-on-user-space.patch
-ApplyPatch linux-2.6-xen-0026-Handle-VSYSCALL_FIRST_PAGE-on-xen_set_pte.patch
-ApplyPatch linux-2.6-xen-0027-DMI-Define-dmi_scan_machine-as-no-op-if-CONFIG_DM.patch
-ApplyPatch linux-2.6-xen-0028-ACPI-thermal-Compile-without-CONFIG_DMI.patch
-ApplyPatch linux-2.6-xen-0029-xen-x86_64-Remove-the-640K-1M-hole-and-disable-DMI.patch
-ApplyPatch linux-2.6-xen-0030-xen-x86_64-Add-update_va_mapping-64-bit-code.patch
-ApplyPatch linux-2.6-xen-0031-x86_64-Add-sync_cmpxchg.patch
-ApplyPatch linux-2.6-xen-0032-xen-x86_64-Implement-HYPERVISOR-MULTI-_update_desc.patch
-ApplyPatch linux-2.6-xen-0033-xen-x86_64-Add-hacky-64-bit-x86_-read-write-_percpu.patch
-ApplyPatch linux-2.6-xen-0034-xen-x86_64-Use-x86_read_percpu-only-to-refer-to-a.patch
-ApplyPatch linux-2.6-xen-0035-Better-implementation-of-pte-functions.patch
-ApplyPatch linux-2.6-xen-0036-Add-FIX_PARAVIRT_BOOTAP-to-fixmap_64.h-too.patch
-ApplyPatch linux-2.6-xen-0037-Add-gate_offset-and-gate_segment-macros.patch
-ApplyPatch linux-2.6-xen-0038-xen_write_idt_entry-and-cvt_gate_to_trap.patch
-ApplyPatch linux-2.6-xen-0039-typedefs-for-pte_val-and-friends.patch
-ApplyPatch linux-2.6-xen-0040-x86_64-implementation-of-some-page.h-macros.patch
-ApplyPatch linux-2.6-xen-0041-Chainsaw-style-ifdefs.patch
-ApplyPatch linux-2.6-xen-0042-xen-Make-xen_pte_val-generic.patch
-ApplyPatch linux-2.6-xen-0043-More-chainsaw-ifdefs.patch
-ApplyPatch linux-2.6-xen-0044-Chainsaw-ifdefs-on-assembly-percpu-handling.patch
-ApplyPatch linux-2.6-xen-0045-x86_64-percpu-assembly-macros.patch
-ApplyPatch linux-2.6-xen-0046-Some-xen-asm.S-x86_64-code.patch
-ApplyPatch linux-2.6-xen-0047-Chainsaw-party-SPLITME.patch
-ApplyPatch linux-2.6-xen-0048-xen-asm.S-x86_64-notes.patch
-ApplyPatch linux-2.6-xen-0049-xen-x86_64-Make-hypercall-assembly-code-work.patch
-ApplyPatch linux-2.6-xen-0050-xen-x86_64-pda-initialization.patch
-ApplyPatch linux-2.6-xen-0051-Disable-discover_ebda-under-paravirt.patch
-ApplyPatch linux-2.6-xen-0052-Disable-early_printk-by-default.patch
-ApplyPatch linux-2.6-xen-0053-xen-Set-__HYPERVISOR_VIRT_START-for-x86_64.patch
-ApplyPatch linux-2.6-xen-0054-Set-__PAGE_OFFSET-as-required-by-Xen.patch
-ApplyPatch linux-2.6-xen-0055-DEBUG-Add-xprintk-to-log-directly-via-hypercall-fo.patch
+ApplyPatch linux-2.6-xen-0016-xen-x86_64-Add-64-bit-version-of-privcmd_hypercall.patch
+ApplyPatch linux-2.6-xen-0017-xen-x86_64-Only-define-load_user_cs_desc-on-32-bi.patch
+ApplyPatch linux-2.6-xen-0018-xen-expose-set_pte_vaddr-and-make-xen-use-it.patch
+ApplyPatch linux-2.6-xen-0019-xen-dom0-Add-set_fixmap-pv_mmu_ops.patch
+ApplyPatch linux-2.6-xen-0020-x86_64-Expose-set_pte_vaddr.patch
+ApplyPatch linux-2.6-xen-0021-x86_64-Split-set_pte_vaddr.patch
+ApplyPatch linux-2.6-xen-0022-x86_64-Add-clear_fixmap.patch
+ApplyPatch linux-2.6-xen-0023-xen-x86_64-Make-set_fixmap-a-paravirt-op-on-64-bi.patch
+ApplyPatch linux-2.6-xen-0024-xen-x86_64-Hack-to-set-vsyscall-pages-on-user-space.patch
+ApplyPatch linux-2.6-xen-0025-Handle-VSYSCALL_FIRST_PAGE-on-xen_set_pte.patch
+ApplyPatch linux-2.6-xen-0026-DMI-Define-dmi_scan_machine-as-no-op-if-CONFIG_DM.patch
+ApplyPatch linux-2.6-xen-0027-ACPI-thermal-Compile-without-CONFIG_DMI.patch
+ApplyPatch linux-2.6-xen-0028-xen-x86_64-Remove-the-640K-1M-hole-and-disable-DMI.patch
+ApplyPatch linux-2.6-xen-0029-xen-x86_64-Add-update_va_mapping-64-bit-code.patch
+ApplyPatch linux-2.6-xen-0030-x86_64-Add-sync_cmpxchg.patch
+ApplyPatch linux-2.6-xen-0031-xen-x86_64-Implement-HYPERVISOR-MULTI-_update_desc.patch
+ApplyPatch linux-2.6-xen-0032-xen-x86_64-Add-hacky-64-bit-x86_-read-write-_percpu.patch
+ApplyPatch linux-2.6-xen-0033-xen-x86_64-Use-x86_read_percpu-only-to-refer-to-a.patch
+ApplyPatch linux-2.6-xen-0034-Better-implementation-of-pte-functions.patch
+ApplyPatch linux-2.6-xen-0035-Add-FIX_PARAVIRT_BOOTAP-to-fixmap_64.h-too.patch
+ApplyPatch linux-2.6-xen-0036-Add-gate_offset-and-gate_segment-macros.patch
+ApplyPatch linux-2.6-xen-0037-xen_write_idt_entry-and-cvt_gate_to_trap.patch
+ApplyPatch linux-2.6-xen-0038-typedefs-for-pte_val-and-friends.patch
+ApplyPatch linux-2.6-xen-0039-x86_64-implementation-of-some-page.h-macros.patch
+ApplyPatch linux-2.6-xen-0040-Chainsaw-style-ifdefs.patch
+ApplyPatch linux-2.6-xen-0041-xen-Make-xen_pte_val-generic.patch
+ApplyPatch linux-2.6-xen-0042-More-chainsaw-ifdefs.patch
+ApplyPatch linux-2.6-xen-0043-Chainsaw-ifdefs-on-assembly-percpu-handling.patch
+ApplyPatch linux-2.6-xen-0044-x86_64-percpu-assembly-macros.patch
+ApplyPatch linux-2.6-xen-0045-Some-xen-asm.S-x86_64-code.patch
+ApplyPatch linux-2.6-xen-0046-Chainsaw-party-SPLITME.patch
+ApplyPatch linux-2.6-xen-0047-xen-asm.S-x86_64-notes.patch
+ApplyPatch linux-2.6-xen-0048-xen-x86_64-Make-hypercall-assembly-code-work.patch
+ApplyPatch linux-2.6-xen-0049-xen-x86_64-pda-initialization.patch
+ApplyPatch linux-2.6-xen-0050-Disable-discover_ebda-under-paravirt.patch
+ApplyPatch linux-2.6-xen-0051-Disable-early_printk-by-default.patch
+ApplyPatch linux-2.6-xen-0052-xen-Set-__HYPERVISOR_VIRT_START-for-x86_64.patch
+ApplyPatch linux-2.6-xen-0053-Set-__PAGE_OFFSET-as-required-by-Xen.patch
+ApplyPatch linux-2.6-xen-0054-DEBUG-Add-xprintk-to-log-directly-via-hypercall-fo.patch
+ApplyPatch linux-2.6-xen-0055-DEBUG-Add-xprintk-debugging-printk-prototype-to-hvc.patch
 ApplyPatch linux-2.6-xen-0056-Use-__pgd-on-mk_kernel_pgd.patch
 ApplyPatch linux-2.6-xen-0057-Include-user-page-tables-on-head_64.S.patch
 ApplyPatch linux-2.6-xen-0058-Avoid-using-mk_unsigned_long.patch

linux-2.6-xen-0056-Use-__pgd-on-mk_kernel_pgd.patch:

Index: linux-2.6-xen-0056-Use-__pgd-on-mk_kernel_pgd.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0056-Use-__pgd-on-mk_kernel_pgd.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0056-Use-__pgd-on-mk_kernel_pgd.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0056-Use-__pgd-on-mk_kernel_pgd.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From d54cf35c99c9c28d2ba74454d971706aaf4b3b0b Mon Sep 17 00:00:00 2001
+From 385ccd4201fe040efbd84b11cdeb647d0fbdcb08 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Tue, 11 Dec 2007 12:00:09 -0200
 Subject: [PATCH] Use __pgd() on mk_kernel_pgd()

linux-2.6-xen-0057-Include-user-page-tables-on-head_64.S.patch:

Index: linux-2.6-xen-0057-Include-user-page-tables-on-head_64.S.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0057-Include-user-page-tables-on-head_64.S.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0057-Include-user-page-tables-on-head_64.S.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0057-Include-user-page-tables-on-head_64.S.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 60e4499fae7bc3d9f727fca70badb506f94f1c37 Mon Sep 17 00:00:00 2001
+From 54cecd06aeba50e934f99807ca4cc7f35410b7f8 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Tue, 11 Dec 2007 12:02:11 -0200
 Subject: [PATCH] Include user page tables on head_64.S

linux-2.6-xen-0058-Avoid-using-mk_unsigned_long.patch:

Index: linux-2.6-xen-0058-Avoid-using-mk_unsigned_long.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0058-Avoid-using-mk_unsigned_long.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0058-Avoid-using-mk_unsigned_long.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0058-Avoid-using-mk_unsigned_long.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From c216f8a48d1a4393b2cf59478a13b69a0e9db76e Mon Sep 17 00:00:00 2001
+From 59d1a15b35fc78bfeb0f488e773f13b6bb8f9686 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Tue, 11 Dec 2007 16:06:14 -0200
 Subject: [PATCH] Avoid using mk_unsigned_long()

linux-2.6-xen-0059-Lots-of-unrelated-changes.patch:

Index: linux-2.6-xen-0059-Lots-of-unrelated-changes.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0059-Lots-of-unrelated-changes.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0059-Lots-of-unrelated-changes.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0059-Lots-of-unrelated-changes.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From b2f0e779b2817003dd7618cfb79e2b897d75cf0f Mon Sep 17 00:00:00 2001
+From 19ddc4f67933d3818d5ec0d258239387994663cc Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Tue, 11 Dec 2007 16:14:09 -0200
 Subject: [PATCH] Lots of unrelated changes
@@ -41,7 +41,7 @@
 +
  obj-$(CONFIG_SMP)	+= smp.o
 diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
-index 0ea43a0..89dd8d7 100644
+index a676a23..1828284 100644
 --- a/arch/x86/xen/enlighten.c
 +++ b/arch/x86/xen/enlighten.c
 @@ -51,6 +51,7 @@
@@ -52,7 +52,7 @@
  
  EXPORT_SYMBOL_GPL(hypercall_page);
  
-@@ -733,6 +734,25 @@ static void xen_write_cr3(unsigned long cr3)
+@@ -702,6 +703,25 @@ static void xen_write_cr3(unsigned long cr3)
  	xen_mc_issue(PARAVIRT_LAZY_CPU);  /* interrupts restored */
  }
  
@@ -78,7 +78,7 @@
  /* Early in boot, while setting up the initial pagetable, assume
     everything is pinned. */
  static __init void xen_alloc_pt_init(struct mm_struct *mm, u32 pfn)
-@@ -992,10 +1012,12 @@ static unsigned xen_patch(u8 type, u16 clobbers, void *insnbuf,
+@@ -961,10 +981,12 @@ static unsigned xen_patch(u8 type, u16 clobbers, void *insnbuf,
  	goto patch_site
  
  	switch (type) {
@@ -91,7 +91,7 @@
  #undef SITE
  
  	patch_site:
-@@ -1192,7 +1214,8 @@ static const struct pv_mmu_ops xen_mmu_ops __initdata = {
+@@ -1161,7 +1183,8 @@ static const struct pv_mmu_ops xen_mmu_ops __initdata = {
  	.make_pte = xen_make_pte,
  	.make_pgd = xen_make_pgd,
  
@@ -101,7 +101,7 @@
  	.set_pte_atomic = xen_set_pte_atomic,
  	.set_pte_present = xen_set_pte_at,
  	.set_pud = xen_set_pud,
-@@ -1201,7 +1224,14 @@ static const struct pv_mmu_ops xen_mmu_ops __initdata = {
+@@ -1170,7 +1193,14 @@ static const struct pv_mmu_ops xen_mmu_ops __initdata = {
  
  	.make_pmd = xen_make_pmd,
  	.pmd_val = xen_pmd_val,
@@ -117,7 +117,7 @@
  
  	.activate_mm = xen_activate_mm,
  	.dup_mmap = xen_dup_mmap,
-@@ -1293,6 +1323,8 @@ asmlinkage void __init xen_start_kernel(void)
+@@ -1262,6 +1292,8 @@ asmlinkage void __init xen_start_kernel(void)
  
  	BUG_ON(memcmp(xen_start_info->magic, "xen-3", 5) != 0);
  
@@ -126,7 +126,7 @@
  #ifdef CONFIG_X86_64
  	{
  		/*FIXME: move this to common code
-@@ -1333,6 +1365,7 @@ asmlinkage void __init xen_start_kernel(void)
+@@ -1302,6 +1334,7 @@ asmlinkage void __init xen_start_kernel(void)
  	pgd = (pgd_t *)xen_start_info->pt_base;
  
  #ifdef CONFIG_X86_32
@@ -134,7 +134,7 @@
  	init_pg_tables_end = __pa(pgd) + xen_start_info->nr_pt_frames*PAGE_SIZE;
  #endif
  
-@@ -1347,6 +1380,10 @@ asmlinkage void __init xen_start_kernel(void)
+@@ -1316,6 +1349,10 @@ asmlinkage void __init xen_start_kernel(void)
  	   possible map and a non-dummy shared_info. */
  	per_cpu(xen_vcpu, 0) = &HYPERVISOR_shared_info->vcpu_info[0];
  

linux-2.6-xen-0060-Hack-disable-vsmp.patch:

Index: linux-2.6-xen-0060-Hack-disable-vsmp.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0060-Hack-disable-vsmp.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0060-Hack-disable-vsmp.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0060-Hack-disable-vsmp.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From bebca8add50a5a7d8c4e4f0d6208a9a31f121ea6 Mon Sep 17 00:00:00 2001
+From c67347663d0bffcd5a211f7713ae8cc6acb2199a Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 12 Dec 2007 16:19:02 -0200
 Subject: [PATCH] Hack: disable vsmp

linux-2.6-xen-0061-Export-early_make_page_readonly.patch:

Index: linux-2.6-xen-0061-Export-early_make_page_readonly.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0061-Export-early_make_page_readonly.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0061-Export-early_make_page_readonly.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0061-Export-early_make_page_readonly.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From d01f6ebf8fb4665f9d1aae933585430fa8a70e57 Mon Sep 17 00:00:00 2001
+From 00c7719d02d8debc80c8ea7e76086223e35bb24c Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 12 Dec 2007 16:23:34 -0200
 Subject: [PATCH] Export early_make_page_readonly()

linux-2.6-xen-0062-Disable-multicalls.c-too-verbose-debugging.patch:

Index: linux-2.6-xen-0062-Disable-multicalls.c-too-verbose-debugging.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0062-Disable-multicalls.c-too-verbose-debugging.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0062-Disable-multicalls.c-too-verbose-debugging.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0062-Disable-multicalls.c-too-verbose-debugging.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 61a44cf3cea3298070550a5a639e6e385258d93a Mon Sep 17 00:00:00 2001
+From e2a97233182790da20bbe7657b8228660c295dd2 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 12 Dec 2007 16:24:08 -0200
 Subject: [PATCH] Disable multicalls.c too-verbose debugging

linux-2.6-xen-0063-Xen-64-bit-ready-MMU-operations.patch:

Index: linux-2.6-xen-0063-Xen-64-bit-ready-MMU-operations.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0063-Xen-64-bit-ready-MMU-operations.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0063-Xen-64-bit-ready-MMU-operations.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0063-Xen-64-bit-ready-MMU-operations.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 4dc0725dc209e925d1995083fb1f83accfe20f60 Mon Sep 17 00:00:00 2001
+From bd8e286ac84fff407f737b88e2032c6acebd36c2 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 23 Jan 2008 12:00:39 -0200
 Subject: [PATCH] Xen 64-bit-ready MMU operations
@@ -13,10 +13,10 @@
  3 files changed, 90 insertions(+), 90 deletions(-)
 
 diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
-index 89dd8d7..8421216 100644
+index 1828284..89097b5 100644
 --- a/arch/x86/xen/enlighten.c
 +++ b/arch/x86/xen/enlighten.c
-@@ -1214,23 +1214,23 @@ static const struct pv_mmu_ops xen_mmu_ops __initdata = {
+@@ -1183,23 +1183,23 @@ static const struct pv_mmu_ops xen_mmu_ops __initdata = {
  	.make_pte = xen_make_pte,
  	.make_pgd = xen_make_pgd,
  

linux-2.6-xen-0064-Some-xen-mmu-pv-ops-implemented.patch:

Index: linux-2.6-xen-0064-Some-xen-mmu-pv-ops-implemented.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0064-Some-xen-mmu-pv-ops-implemented.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0064-Some-xen-mmu-pv-ops-implemented.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0064-Some-xen-mmu-pv-ops-implemented.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 6a4ce474f2e1f08f3347753ee4ed4cbcdce877a0 Mon Sep 17 00:00:00 2001
+From f4961bee28fa28976f517ea7dbc5136171c86974 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 12 Dec 2007 16:26:01 -0200
 Subject: [PATCH] Some xen mmu pv-ops implemented
@@ -12,10 +12,10 @@
  1 files changed, 7 insertions(+), 0 deletions(-)
 
 diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
-index 8421216..5bd8265 100644
+index 89097b5..49f895c 100644
 --- a/arch/x86/xen/enlighten.c
 +++ b/arch/x86/xen/enlighten.c
-@@ -1369,12 +1369,19 @@ asmlinkage void __init xen_start_kernel(void)
+@@ -1338,12 +1338,19 @@ asmlinkage void __init xen_start_kernel(void)
  	init_pg_tables_end = __pa(pgd) + xen_start_info->nr_pt_frames*PAGE_SIZE;
  #endif
  

linux-2.6-xen-0065-Trying-to-make-the-pagetable-initialization-code-wor.patch:

Index: linux-2.6-xen-0065-Trying-to-make-the-pagetable-initialization-code-wor.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0065-Trying-to-make-the-pagetable-initialization-code-wor.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0065-Trying-to-make-the-pagetable-initialization-code-wor.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0065-Trying-to-make-the-pagetable-initialization-code-wor.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 43a60e1c574bee942f1848ab6202d4e6e18fab94 Mon Sep 17 00:00:00 2001
+From 1a4f49f97ffe08c061afd2350e232d8b761bcffa Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 12 Dec 2007 16:26:56 -0200
 Subject: [PATCH] Trying to make the pagetable initialization code work under Xen

linux-2.6-xen-0066-Xen-specific-find_early_table_space-FIXME.patch:

Index: linux-2.6-xen-0066-Xen-specific-find_early_table_space-FIXME.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0066-Xen-specific-find_early_table_space-FIXME.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0066-Xen-specific-find_early_table_space-FIXME.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0066-Xen-specific-find_early_table_space-FIXME.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 406d83cc45d7167497099b15c69fbfed5a0b5120 Mon Sep 17 00:00:00 2001
+From 2dbba7647e8823aaf69ce40ab7d79584e823796e Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 23 Jan 2008 12:15:58 -0200
 Subject: [PATCH] Xen-specific find_early_table_space() (FIXME)

linux-2.6-xen-0067-Xen-call-e820_print_map-when-setting-up-memory.patch:

Index: linux-2.6-xen-0067-Xen-call-e820_print_map-when-setting-up-memory.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0067-Xen-call-e820_print_map-when-setting-up-memory.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0067-Xen-call-e820_print_map-when-setting-up-memory.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0067-Xen-call-e820_print_map-when-setting-up-memory.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From f9d2cd995ebcd5c0bc907b7cd87d6a1e35ea891a Mon Sep 17 00:00:00 2001
+From 567305918ce63c43aaa34fc1b9207b004fa28d29 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Mon, 17 Dec 2007 18:08:13 -0200
 Subject: [PATCH] Xen: call e820_print_map() when setting up memory

linux-2.6-xen-0068-Comment-debugging-msgs.patch:

Index: linux-2.6-xen-0068-Comment-debugging-msgs.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0068-Comment-debugging-msgs.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0068-Comment-debugging-msgs.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0068-Comment-debugging-msgs.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 76ca974f9867287440aa08235f781aedd05753e3 Mon Sep 17 00:00:00 2001
+From 6f73f38d00d42a2396fef87c2dcee5bc0fec948b Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Mon, 17 Dec 2007 18:08:43 -0200
 Subject: [PATCH] Comment debugging msgs

linux-2.6-xen-0069-Try-to-make-pagetables-read-only.patch:

Index: linux-2.6-xen-0069-Try-to-make-pagetables-read-only.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0069-Try-to-make-pagetables-read-only.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0069-Try-to-make-pagetables-read-only.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0069-Try-to-make-pagetables-read-only.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From e0d1c1ba95d26f55d787982e65ed6d851f3f3cd3 Mon Sep 17 00:00:00 2001
+From 3035c387778cd48b305fcc9f7797530777c5cd15 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Tue, 18 Dec 2007 10:21:45 -0200
 Subject: [PATCH] Try to make pagetables read-only

linux-2.6-xen-0070-Debug-dump-pgtables-on-make_page_readonly.patch:

Index: linux-2.6-xen-0070-Debug-dump-pgtables-on-make_page_readonly.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0070-Debug-dump-pgtables-on-make_page_readonly.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0070-Debug-dump-pgtables-on-make_page_readonly.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0070-Debug-dump-pgtables-on-make_page_readonly.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 205312a7d699cbc8ea0ea6e9adccfaff798857a0 Mon Sep 17 00:00:00 2001
+From 8f0aa898e57c6a4132cda99da7fac3079dcfe71e Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Tue, 18 Dec 2007 12:34:36 -0200
 Subject: [PATCH] Debug: dump pgtables on make_page_readonly()

linux-2.6-xen-0071-Disable-apic-at-compile-time-FIXME.patch:

Index: linux-2.6-xen-0071-Disable-apic-at-compile-time-FIXME.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0071-Disable-apic-at-compile-time-FIXME.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0071-Disable-apic-at-compile-time-FIXME.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0071-Disable-apic-at-compile-time-FIXME.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From cc330d7a4cc7c5c2639df43a10a5e2c542a09d99 Mon Sep 17 00:00:00 2001
+From 0447c99703bb248dc8f30c48369ff2ef9a954ee8 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Tue, 18 Dec 2007 16:54:43 -0200
 Subject: [PATCH] Disable apic at compile time (FIXME)

linux-2.6-xen-0072-Parse-early-params-after-init_memory_mapping.patch:

Index: linux-2.6-xen-0072-Parse-early-params-after-init_memory_mapping.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0072-Parse-early-params-after-init_memory_mapping.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0072-Parse-early-params-after-init_memory_mapping.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0072-Parse-early-params-after-init_memory_mapping.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 86ca6e68e737bbb467a57f72e43b6ca2815880a1 Mon Sep 17 00:00:00 2001
+From b5e19fbdfb1e9cc197c18f351341968d491c5a35 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Tue, 18 Dec 2007 17:38:40 -0200
 Subject: [PATCH] Parse early params after init_memory_mapping()

linux-2.6-xen-0073-xen-Move-addr_to_page-to-init.h.patch:

Index: linux-2.6-xen-0073-xen-Move-addr_to_page-to-init.h.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0073-xen-Move-addr_to_page-to-init.h.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0073-xen-Move-addr_to_page-to-init.h.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0073-xen-Move-addr_to_page-to-init.h.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 9e50047d7a5001fb3db0e7c86cb4227379036c7c Mon Sep 17 00:00:00 2001
+From 3f64fd37b89f0e1634239458634405939371cc68 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Tue, 18 Dec 2007 17:40:35 -0200
 Subject: [PATCH] xen: Move addr_to_page() to init.h

linux-2.6-xen-0074-Make-xen_pxx_val-and-xen_make_pxx-handle-attr-bi.patch:

Index: linux-2.6-xen-0074-Make-xen_pxx_val-and-xen_make_pxx-handle-attr-bi.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0074-Make-xen_pxx_val-and-xen_make_pxx-handle-attr-bi.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0074-Make-xen_pxx_val-and-xen_make_pxx-handle-attr-bi.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0074-Make-xen_pxx_val-and-xen_make_pxx-handle-attr-bi.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From bdb0a261de5bdd4c30ff7199345e023bf459e45b Mon Sep 17 00:00:00 2001
+From 6f4d0a2cf927c0419a2656fd9d6cec55e2e30804 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 23 Jan 2008 12:31:46 -0200
 Subject: [PATCH] Make xen_pxx_val() and xen_make_pxx() handle attr bits safely

linux-2.6-xen-0075-Pull-xen_finish_init_mappin-from-XS-upstream.patch:

Index: linux-2.6-xen-0075-Pull-xen_finish_init_mappin-from-XS-upstream.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0075-Pull-xen_finish_init_mappin-from-XS-upstream.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0075-Pull-xen_finish_init_mappin-from-XS-upstream.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0075-Pull-xen_finish_init_mappin-from-XS-upstream.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 447d2eb7428f21ece75919ea7dcd3a338e98da0d Mon Sep 17 00:00:00 2001
+From 9c0e0e82c5a026c51953df331e521fe381121927 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 23 Jan 2008 13:20:18 -0200
 Subject: [PATCH] Pull xen_finish_init_mappin() from XS upstream

linux-2.6-xen-0076-Pull-spp_getpage-changes-from-XS-upstream-REVIEWM.patch:

Index: linux-2.6-xen-0076-Pull-spp_getpage-changes-from-XS-upstream-REVIEWM.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0076-Pull-spp_getpage-changes-from-XS-upstream-REVIEWM.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0076-Pull-spp_getpage-changes-from-XS-upstream-REVIEWM.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0076-Pull-spp_getpage-changes-from-XS-upstream-REVIEWM.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 8d7d253384759e7d8260265b4830a5fbbc572a3a Mon Sep 17 00:00:00 2001
+From 338b5d1b98971087a2f2df48320d494860ad2884 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 23 Jan 2008 13:21:20 -0200
 Subject: [PATCH] Pull spp_getpage() changes from XS upstream (REVIEWME)

linux-2.6-xen-0077-Pull-xen_extend_init_mapping-from-XS-upstream-FIX.patch:

Index: linux-2.6-xen-0077-Pull-xen_extend_init_mapping-from-XS-upstream-FIX.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0077-Pull-xen_extend_init_mapping-from-XS-upstream-FIX.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0077-Pull-xen_extend_init_mapping-from-XS-upstream-FIX.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0077-Pull-xen_extend_init_mapping-from-XS-upstream-FIX.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 7173948b099cc28316bdb05b0dbd85c2b823be1a Mon Sep 17 00:00:00 2001
+From aeae3781b9894fe686823ac6ed6a6dbcdab81408 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 23 Jan 2008 13:22:29 -0200
 Subject: [PATCH] Pull xen_extend_init_mapping() from XS upstream (FIXME)

linux-2.6-xen-0078-New-enum-fixed_addresses-values-REVIEWME.patch:

Index: linux-2.6-xen-0078-New-enum-fixed_addresses-values-REVIEWME.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0078-New-enum-fixed_addresses-values-REVIEWME.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0078-New-enum-fixed_addresses-values-REVIEWME.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0078-New-enum-fixed_addresses-values-REVIEWME.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From ad843228e5bcef747e694adc5dcaac900d42d5f5 Mon Sep 17 00:00:00 2001
+From 0ef6c12feaab2fcebd74b75aa2ec7f7eb48e1284 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 23 Jan 2008 13:28:40 -0200
 Subject: [PATCH] New enum fixed_addresses values (REVIEWME)

linux-2.6-xen-0079-Reserve-bootmem-areas-used-by-Xen-FIXME.patch:

Index: linux-2.6-xen-0079-Reserve-bootmem-areas-used-by-Xen-FIXME.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0079-Reserve-bootmem-areas-used-by-Xen-FIXME.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0079-Reserve-bootmem-areas-used-by-Xen-FIXME.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0079-Reserve-bootmem-areas-used-by-Xen-FIXME.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From bfc90c4a427f1afc49e04ac39e43296acb7c008e Mon Sep 17 00:00:00 2001
+From 1cfc438787938c63fe7eb69f3e4cfe39e5a94fd4 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Thu, 20 Dec 2007 16:03:58 -0200
 Subject: [PATCH] Reserve bootmem areas used by Xen (FIXME)

linux-2.6-xen-0080-xen_convert_trap_info-use-sizeof-struct-gate_desc.patch:

Index: linux-2.6-xen-0080-xen_convert_trap_info-use-sizeof-struct-gate_desc.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0080-xen_convert_trap_info-use-sizeof-struct-gate_desc.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0080-xen_convert_trap_info-use-sizeof-struct-gate_desc.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0080-xen_convert_trap_info-use-sizeof-struct-gate_desc.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 876c274a46072215cd02d724602963757726a7d8 Mon Sep 17 00:00:00 2001
+From 47169f003a4249244937a1d3d04f9328a839903c Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Thu, 20 Dec 2007 16:45:51 -0200
 Subject: [PATCH] xen_convert_trap_info(): use sizeof(struct gate_desc)
@@ -11,10 +11,10 @@
  1 files changed, 1 insertions(+), 1 deletions(-)
 
 diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
-index 5bd8265..5e8e493 100644
+index 49f895c..fea52b0 100644
 --- a/arch/x86/xen/enlighten.c
 +++ b/arch/x86/xen/enlighten.c
-@@ -505,7 +505,7 @@ static void xen_convert_trap_info(const struct desc_ptr *desc,
+@@ -474,7 +474,7 @@ static void xen_convert_trap_info(const struct desc_ptr *desc,
  {
  	unsigned in, out, count;
  

linux-2.6-xen-0081-Call-paravirt_pagetable_setup_-start-done-REVIEW.patch:

Index: linux-2.6-xen-0081-Call-paravirt_pagetable_setup_-start-done-REVIEW.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0081-Call-paravirt_pagetable_setup_-start-done-REVIEW.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0081-Call-paravirt_pagetable_setup_-start-done-REVIEW.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0081-Call-paravirt_pagetable_setup_-start-done-REVIEW.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From c8aafb38657e26d398af65017bc365a36725bc9e Mon Sep 17 00:00:00 2001
+From fc69b941ccfc334fd328a9c38d1045371e562387 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Fri, 21 Dec 2007 11:57:55 -0200
 Subject: [PATCH] Call paravirt_pagetable_setup_{start,done} (REVIEW)

linux-2.6-xen-0082-ifdef-CONFIG_X86_32-on-xen-enlighten.c-REVIEWME.patch:

Index: linux-2.6-xen-0082-ifdef-CONFIG_X86_32-on-xen-enlighten.c-REVIEWME.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0082-ifdef-CONFIG_X86_32-on-xen-enlighten.c-REVIEWME.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0082-ifdef-CONFIG_X86_32-on-xen-enlighten.c-REVIEWME.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0082-ifdef-CONFIG_X86_32-on-xen-enlighten.c-REVIEWME.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 723ede95f0132cc25c9ced8111fb6cd531f2eec4 Mon Sep 17 00:00:00 2001
+From 987fe21276cb19eef32a557353bb5c31a5431242 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 23 Jan 2008 13:34:59 -0200
 Subject: [PATCH] ifdef CONFIG_X86_32 on xen/enlighten.c (REVIEWME)
@@ -9,10 +9,10 @@
  1 files changed, 11 insertions(+), 0 deletions(-)
 
 diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
-index 5e8e493..4bbb65e 100644
+index fea52b0..fcf0554 100644
 --- a/arch/x86/xen/enlighten.c
 +++ b/arch/x86/xen/enlighten.c
-@@ -870,12 +870,18 @@ static __init void xen_set_pte_init(pte_t *ptep, pte_t pte)
+@@ -839,12 +839,18 @@ static __init void xen_set_pte_init(pte_t *ptep, pte_t pte)
  
  static __init void xen_pagetable_setup_start(pgd_t *base)
  {
@@ -31,7 +31,7 @@
  	/*
  	 * copy top-level of Xen-supplied pagetable into place.	 For
  	 * !PAE we can use this as-is, but for PAE it is a stand-in
-@@ -914,6 +920,7 @@ static __init void xen_pagetable_setup_start(pgd_t *base)
+@@ -883,6 +889,7 @@ static __init void xen_pagetable_setup_start(pgd_t *base)
  	 * added to the table can be prepared properly for Xen.
  	 */
  	xen_write_cr3(__pa(base));
@@ -39,7 +39,7 @@
  
  	/* Unpin initial Xen pagetable */
  	pin_pagetable_pfn(MMUEXT_UNPIN_TABLE,
-@@ -957,6 +964,9 @@ static __init void xen_pagetable_setup_done(pgd_t *base)
+@@ -926,6 +933,9 @@ static __init void xen_pagetable_setup_done(pgd_t *base)
  
  	setup_shared_info();
  
@@ -49,7 +49,7 @@
  	/* Actually pin the pagetable down, but we can't set PG_pinned
  	   yet because the page structures don't exist yet. */
  	{
-@@ -970,6 +980,7 @@ static __init void xen_pagetable_setup_done(pgd_t *base)
+@@ -939,6 +949,7 @@ static __init void xen_pagetable_setup_done(pgd_t *base)
  
  		pin_pagetable_pfn(level, PFN_DOWN(__pa(base)));
  	}

linux-2.6-xen-0083-Handle-Xen-exception-stack-it-is-different-from-bar.patch:

Index: linux-2.6-xen-0083-Handle-Xen-exception-stack-it-is-different-from-bar.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0083-Handle-Xen-exception-stack-it-is-different-from-bar.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0083-Handle-Xen-exception-stack-it-is-different-from-bar.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0083-Handle-Xen-exception-stack-it-is-different-from-bar.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From d043ca96e0fd6e7e8a48e38295e9edac96a08df0 Mon Sep 17 00:00:00 2001
+From a678342c4970fb4466fb08255556235383441dec Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Mon, 24 Dec 2007 17:22:58 -0200
 Subject: [PATCH] Handle Xen exception stack (it is different from baremetal stack) (FIXME)

linux-2.6-xen-0084-Make-hvc_xen-console-use-xprintk-TEMPORARY.patch:

Index: linux-2.6-xen-0084-Make-hvc_xen-console-use-xprintk-TEMPORARY.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0084-Make-hvc_xen-console-use-xprintk-TEMPORARY.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0084-Make-hvc_xen-console-use-xprintk-TEMPORARY.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0084-Make-hvc_xen-console-use-xprintk-TEMPORARY.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 44f9ddbb0a626c8b5439097e39695dfa97c96a65 Mon Sep 17 00:00:00 2001
+From f5efc09398dd319db4ebdc1a2404f16ee080fe01 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Thu, 20 Dec 2007 16:05:25 -0200
 Subject: [PATCH] Make hvc_xen console use xprintk() (TEMPORARY)

linux-2.6-xen-0085-Implement-64-bit-version-of-HYPERVISOR_set_callbacks.patch:

Index: linux-2.6-xen-0085-Implement-64-bit-version-of-HYPERVISOR_set_callbacks.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0085-Implement-64-bit-version-of-HYPERVISOR_set_callbacks.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0085-Implement-64-bit-version-of-HYPERVISOR_set_callbacks.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0085-Implement-64-bit-version-of-HYPERVISOR_set_callbacks.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 92f0a6bb139a319bd29cb79d8519e539dd8c9d78 Mon Sep 17 00:00:00 2001
+From 4e9f155305d51fddbee85e0a171232463a198590 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 26 Dec 2007 15:51:34 -0200
 Subject: [PATCH] Implement 64-bit version of HYPERVISOR_set_callbacks() (IFDEF?)

linux-2.6-xen-0086-Make-arch_vcpu_info-be-of-the-right-size-on-both-32.patch:

Index: linux-2.6-xen-0086-Make-arch_vcpu_info-be-of-the-right-size-on-both-32.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0086-Make-arch_vcpu_info-be-of-the-right-size-on-both-32.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0086-Make-arch_vcpu_info-be-of-the-right-size-on-both-32.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0086-Make-arch_vcpu_info-be-of-the-right-size-on-both-32.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 343878380729274e11bdb405e4271f666194154d Mon Sep 17 00:00:00 2001
+From a4e9a8b7c99a0f4c2b10450212a0538827e8797e Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Thu, 27 Dec 2007 17:33:32 -0200
 Subject: [PATCH] Make arch_vcpu_info be of the right size on both 32 and 64 bits

linux-2.6-xen-0087-Implement-asm-xen_iret.patch:

Index: linux-2.6-xen-0087-Implement-asm-xen_iret.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0087-Implement-asm-xen_iret.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0087-Implement-asm-xen_iret.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0087-Implement-asm-xen_iret.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From b602b53bcfdcb660f0c138b70aaece95a409d232 Mon Sep 17 00:00:00 2001
+From f60bf386bfb1967dc10b6f37cb5df71f63d3f699 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Mon, 11 Feb 2008 11:59:29 -0200
 Subject: [PATCH] Implement asm xen_iret
@@ -13,10 +13,10 @@
  3 files changed, 12 insertions(+), 0 deletions(-)
 
 diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
-index 4bbb65e..894252a 100644
+index fcf0554..90d732d 100644
 --- a/arch/x86/xen/enlighten.c
 +++ b/arch/x86/xen/enlighten.c
-@@ -1136,7 +1136,11 @@ static const struct pv_cpu_ops xen_cpu_ops __initdata = {
+@@ -1105,7 +1105,11 @@ static const struct pv_cpu_ops xen_cpu_ops __initdata = {
  	.read_tsc = native_read_tsc,
  	.read_pmc = native_read_pmc,
  

linux-2.6-xen-0088-xen-64-xen_iret-use-iretq-directly-if-returning-t.patch:

Index: linux-2.6-xen-0088-xen-64-xen_iret-use-iretq-directly-if-returning-t.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0088-xen-64-xen_iret-use-iretq-directly-if-returning-t.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0088-xen-64-xen_iret-use-iretq-directly-if-returning-t.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0088-xen-64-xen_iret-use-iretq-directly-if-returning-t.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From c539598eff8ae511a84e94657ca8f0fb34433439 Mon Sep 17 00:00:00 2001
+From 5178532118b7182b5c29133f0a011bc225d99a91 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Fri, 4 Jan 2008 11:54:37 -0200
 Subject: [PATCH] xen-64: xen_iret() use iretq directly if returning to kernel-space

linux-2.6-xen-0089-Implement-xen_irqenable_syscall_ret.patch:

Index: linux-2.6-xen-0089-Implement-xen_irqenable_syscall_ret.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0089-Implement-xen_irqenable_syscall_ret.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0089-Implement-xen_irqenable_syscall_ret.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0089-Implement-xen_irqenable_syscall_ret.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 0e8c0e76d9f40283984060c5481b2573d3b9f824 Mon Sep 17 00:00:00 2001
+From fcecb1a22964536bfeb4e15bcc717fbbe09abff6 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Mon, 4 Feb 2008 18:06:53 -0200
 Subject: [PATCH] Implement xen_irqenable_syscall_ret()
@@ -11,10 +11,10 @@
  3 files changed, 12 insertions(+), 1 deletions(-)
 
 diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
-index 894252a..97fa630 100644
+index 90d732d..7633851 100644
 --- a/arch/x86/xen/enlighten.c
 +++ b/arch/x86/xen/enlighten.c
-@@ -1138,10 +1138,11 @@ static const struct pv_cpu_ops xen_cpu_ops __initdata = {
+@@ -1107,10 +1107,11 @@ static const struct pv_cpu_ops xen_cpu_ops __initdata = {
  
  #ifdef CONFIG_X86_32
  	.iret = (void *)&hypercall_page[__HYPERVISOR_iret],

linux-2.6-xen-0090-DEBUG-xen_iret-always-return-through-the-hyperviso.patch:

Index: linux-2.6-xen-0090-DEBUG-xen_iret-always-return-through-the-hyperviso.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0090-DEBUG-xen_iret-always-return-through-the-hyperviso.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0090-DEBUG-xen_iret-always-return-through-the-hyperviso.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0090-DEBUG-xen_iret-always-return-through-the-hyperviso.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 7766fab2c028d144555817cf50701069d229c2f9 Mon Sep 17 00:00:00 2001
+From 2962a02b51b42ef3216d20f72487c0ab66d57b52 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Mon, 4 Feb 2008 18:11:05 -0200
 Subject: [PATCH] DEBUG: xen_iret: always return through the hypervisor

linux-2.6-xen-0091-Implement-some-xen-callbacks-on-xen-entry_64.S.patch:

Index: linux-2.6-xen-0091-Implement-some-xen-callbacks-on-xen-entry_64.S.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0091-Implement-some-xen-callbacks-on-xen-entry_64.S.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0091-Implement-some-xen-callbacks-on-xen-entry_64.S.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0091-Implement-some-xen-callbacks-on-xen-entry_64.S.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From ad309d51e85f84405df78ba7e859b9f2dc002fa2 Mon Sep 17 00:00:00 2001
+From 922636a2f48611c7293338f9b04a7dc7f6bed3cc Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Mon, 11 Feb 2008 12:00:28 -0200
 Subject: [PATCH] Implement some xen callbacks on xen/entry_64.S

linux-2.6-xen-0092-Xen-specific-ifdef-hacks-on-kernel-entry_64.S-FIXM.patch:

Index: linux-2.6-xen-0092-Xen-specific-ifdef-hacks-on-kernel-entry_64.S-FIXM.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0092-Xen-specific-ifdef-hacks-on-kernel-entry_64.S-FIXM.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0092-Xen-specific-ifdef-hacks-on-kernel-entry_64.S-FIXM.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0092-Xen-specific-ifdef-hacks-on-kernel-entry_64.S-FIXM.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From b4fc4b6196bd70eba0655709bf31bedd45fae952 Mon Sep 17 00:00:00 2001
+From 85b03e3b44e7d71747caabd739680a85579fac0f Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Mon, 11 Feb 2008 12:02:07 -0200
 Subject: [PATCH] Xen-specific #ifdef hacks on kernel/entry_64.S (FIXME)

linux-2.6-xen-0093-Disable-syscall32-code-temporarily-FIXME.patch:

Index: linux-2.6-xen-0093-Disable-syscall32-code-temporarily-FIXME.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0093-Disable-syscall32-code-temporarily-FIXME.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0093-Disable-syscall32-code-temporarily-FIXME.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0093-Disable-syscall32-code-temporarily-FIXME.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 491978aa7ad21061323e60b8b3e323693c5ebad2 Mon Sep 17 00:00:00 2001
+From b2683e0c4f376a8506a925452be03b9207bb0b81 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Fri, 4 Jan 2008 11:30:17 -0200
 Subject: [PATCH] Disable syscall32 code temporarily (FIXME)

linux-2.6-xen-0094-Use-__KERNEL_DS-as-SS-when-returning-to-a-kernel-thr.patch:

Index: linux-2.6-xen-0094-Use-__KERNEL_DS-as-SS-when-returning-to-a-kernel-thr.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0094-Use-__KERNEL_DS-as-SS-when-returning-to-a-kernel-thr.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0094-Use-__KERNEL_DS-as-SS-when-returning-to-a-kernel-thr.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0094-Use-__KERNEL_DS-as-SS-when-returning-to-a-kernel-thr.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 15d0d1641d1e74bb833740f7356b533002b70985 Mon Sep 17 00:00:00 2001
+From 5572455f5510350eb265e9a1db1a60f91c216e2a Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Fri, 4 Jan 2008 11:35:15 -0200
 Subject: [PATCH] Use __KERNEL_DS as SS when returning to a kernel thread (VERIFY)

linux-2.6-xen-0095-Use-apic_xen-on-genapic-by-default-FIXME.patch:

Index: linux-2.6-xen-0095-Use-apic_xen-on-genapic-by-default-FIXME.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0095-Use-apic_xen-on-genapic-by-default-FIXME.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0095-Use-apic_xen-on-genapic-by-default-FIXME.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0095-Use-apic_xen-on-genapic-by-default-FIXME.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From f4bb90bffd9e24b88c6c17b623d1dd0c97bf1da3 Mon Sep 17 00:00:00 2001
+From e0ecfc93276a5ddded5a361176c24e8ed9ff514b Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 23 Jan 2008 13:37:35 -0200
 Subject: [PATCH] Use apic_xen on genapic, by default (FIXME)

linux-2.6-xen-0096-irq-vector-ifdef-chainsaw-FIXME.patch:

Index: linux-2.6-xen-0096-irq-vector-ifdef-chainsaw-FIXME.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0096-irq-vector-ifdef-chainsaw-FIXME.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0096-irq-vector-ifdef-chainsaw-FIXME.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0096-irq-vector-ifdef-chainsaw-FIXME.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 94b498aaac840510cf6c67f574eccc54e90208c5 Mon Sep 17 00:00:00 2001
+From 0eaecfa7211bd4dcdb9f992443d8b0e3a41b6454 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Fri, 4 Jan 2008 11:36:34 -0200
 Subject: [PATCH] irq<->vector #ifdef chainsaw (FIXME)

linux-2.6-xen-0097-ifdef-chainsaw-on-syscall_init-FIXME.patch:

Index: linux-2.6-xen-0097-ifdef-chainsaw-on-syscall_init-FIXME.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0097-ifdef-chainsaw-on-syscall_init-FIXME.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0097-ifdef-chainsaw-on-syscall_init-FIXME.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0097-ifdef-chainsaw-on-syscall_init-FIXME.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 73476f105e7c6797f6f3bd15c31d10e3265fbd84 Mon Sep 17 00:00:00 2001
+From 258622f21d680689093bfb19666517215a53cf4c Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Fri, 4 Jan 2008 11:39:15 -0200
 Subject: [PATCH] ifdef chainsaw on syscall_init() (FIXME)

linux-2.6-xen-0098-Pull-xen-genapic-implementation-from-upstream-Xen.patch:

Index: linux-2.6-xen-0098-Pull-xen-genapic-implementation-from-upstream-Xen.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0098-Pull-xen-genapic-implementation-from-upstream-Xen.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0098-Pull-xen-genapic-implementation-from-upstream-Xen.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0098-Pull-xen-genapic-implementation-from-upstream-Xen.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 8cee3ac4ea014f74b5615b7d932972537052e486 Mon Sep 17 00:00:00 2001
+From e7ea7267ff6f396f6af5d460abfdde2be1cd9986 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Fri, 4 Jan 2008 11:40:38 -0200
 Subject: [PATCH] Pull xen genapic implementation from upstream Xen

linux-2.6-xen-0099-Debugging-printk-s.patch:

Index: linux-2.6-xen-0099-Debugging-printk-s.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0099-Debugging-printk-s.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0099-Debugging-printk-s.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0099-Debugging-printk-s.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From ec592a2eb12f9748e599f67e3e1e15eefe825973 Mon Sep 17 00:00:00 2001
+From da94f26b3550f45a67c134271125091f479611c4 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Fri, 4 Jan 2008 11:41:38 -0200
 Subject: [PATCH] Debugging printk()s

linux-2.6-xen-0100-Leave-lazy_cpu_mode-on-__switch_to.patch:

Index: linux-2.6-xen-0100-Leave-lazy_cpu_mode-on-__switch_to.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0100-Leave-lazy_cpu_mode-on-__switch_to.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0100-Leave-lazy_cpu_mode-on-__switch_to.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0100-Leave-lazy_cpu_mode-on-__switch_to.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 411c2ec49b8401bfa7609c26234f7c5df1f52ca7 Mon Sep 17 00:00:00 2001
+From 745b6d354d5aa46161c72337871699ecffcb5c50 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Fri, 4 Jan 2008 11:43:40 -0200
 Subject: [PATCH] Leave lazy_cpu_mode() on __switch_to()

linux-2.6-xen-0101-xen-64-Handle-fs-and-gs-on-xen_load_tls-properl.patch:

Index: linux-2.6-xen-0101-xen-64-Handle-fs-and-gs-on-xen_load_tls-properl.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0101-xen-64-Handle-fs-and-gs-on-xen_load_tls-properl.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0101-xen-64-Handle-fs-and-gs-on-xen_load_tls-properl.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0101-xen-64-Handle-fs-and-gs-on-xen_load_tls-properl.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 3eb650d5317a06c6ca4fa0740e3f0a55f05bdffc Mon Sep 17 00:00:00 2001
+From 7c36beca3378d6601c78b679999fe22719c7b84f Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Fri, 4 Jan 2008 11:45:33 -0200
 Subject: [PATCH] xen-64: Handle %fs and %gs on xen_load_tls() properly
@@ -9,10 +9,10 @@
  1 files changed, 14 insertions(+), 1 deletions(-)
 
 diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
-index 97fa630..5377f41 100644
+index 7633851..2bec24f 100644
 --- a/arch/x86/xen/enlighten.c
 +++ b/arch/x86/xen/enlighten.c
-@@ -422,6 +422,7 @@ static void xen_load_tls(struct thread_struct *t, unsigned int cpu)
+@@ -391,6 +391,7 @@ static void xen_load_tls(struct thread_struct *t, unsigned int cpu)
  
  	xen_mc_issue(PARAVIRT_LAZY_CPU);
  
@@ -20,7 +20,7 @@
  	/*
  	 * XXX sleazy hack: If we're being called in a lazy-cpu zone,
  	 * it means we're in a context switch, and %gs has just been
-@@ -430,9 +431,21 @@ static void xen_load_tls(struct thread_struct *t, unsigned int cpu)
+@@ -399,9 +400,21 @@ static void xen_load_tls(struct thread_struct *t, unsigned int cpu)
  	 * Either way, it has been saved, and the new value will get
  	 * loaded properly.  This will go away as soon as Xen has been
  	 * modified to not save/restore %gs for normal hypercalls.

linux-2.6-xen-0102-Disable-vcpu_info_placement-temporarily-FIXME.patch:

Index: linux-2.6-xen-0102-Disable-vcpu_info_placement-temporarily-FIXME.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0102-Disable-vcpu_info_placement-temporarily-FIXME.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0102-Disable-vcpu_info_placement-temporarily-FIXME.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0102-Disable-vcpu_info_placement-temporarily-FIXME.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 4d4ae974dc48d579b9539cbc3a6fd8cc9fb51812 Mon Sep 17 00:00:00 2001
+From e6874960d3f0528c961450553e91f65ed9122362 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Fri, 4 Jan 2008 11:46:49 -0200
 Subject: [PATCH] Disable vcpu_info_placement temporarily (FIXME)
@@ -11,7 +11,7 @@
  1 files changed, 7 insertions(+), 0 deletions(-)
 
 diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
-index 5377f41..17687e6 100644
+index 2bec24f..53a07f6 100644
 --- a/arch/x86/xen/enlighten.c
 +++ b/arch/x86/xen/enlighten.c
 @@ -121,6 +121,9 @@ static void __init xen_vcpu_setup(int cpu)

linux-2.6-xen-0103-Fix-typo-on-ifdef-again.patch:

Index: linux-2.6-xen-0103-Fix-typo-on-ifdef-again.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0103-Fix-typo-on-ifdef-again.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0103-Fix-typo-on-ifdef-again.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0103-Fix-typo-on-ifdef-again.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From d4ed01e1d56b13d4fe93ec324971e63a11e9e6d5 Mon Sep 17 00:00:00 2001
+From 6b94ad69609ca107814fcc2699713c721d14ca22 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 23 Jan 2008 19:13:01 -0200
 Subject: [PATCH] Fix typo on #ifdef (again)
@@ -9,7 +9,7 @@
  1 files changed, 1 insertions(+), 1 deletions(-)
 
 diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
-index 17687e6..2fceedd 100644
+index 53a07f6..627d8b6 100644
 --- a/arch/x86/xen/enlighten.c
 +++ b/arch/x86/xen/enlighten.c
 @@ -121,7 +121,7 @@ static void __init xen_vcpu_setup(int cpu)

linux-2.6-xen-0104-DEBUG-Don-t-try-to-actually-read-the-page-on-show_.patch:

Index: linux-2.6-xen-0104-DEBUG-Don-t-try-to-actually-read-the-page-on-show_.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0104-DEBUG-Don-t-try-to-actually-read-the-page-on-show_.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0104-DEBUG-Don-t-try-to-actually-read-the-page-on-show_.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0104-DEBUG-Don-t-try-to-actually-read-the-page-on-show_.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 0b2c042076d44cb2a80ff2550713f21655a99d81 Mon Sep 17 00:00:00 2001
+From f4ac7ff737ab5efdec236323f32866ff941bbde6 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Fri, 4 Jan 2008 12:23:34 -0200
 Subject: [PATCH] (DEBUG) Don't try to actually read the page on show_pgtable1()

linux-2.6-xen-0105-Make-load_gs_index-a-paravirt-operation.patch:

Index: linux-2.6-xen-0105-Make-load_gs_index-a-paravirt-operation.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0105-Make-load_gs_index-a-paravirt-operation.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0105-Make-load_gs_index-a-paravirt-operation.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0105-Make-load_gs_index-a-paravirt-operation.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From d02a193e0f491a1a82e2eb0905af609d037f607e Mon Sep 17 00:00:00 2001
+From 517629c0b4f1a809961ad0e294632149e9699b88 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Fri, 4 Jan 2008 12:33:43 -0200
 Subject: [PATCH] Make load_gs_index() a paravirt operation

linux-2.6-xen-0106-xen-pgd_walk-use-limit-argument-instead-of-FIXADD.patch:

Index: linux-2.6-xen-0106-xen-pgd_walk-use-limit-argument-instead-of-FIXADD.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0106-xen-pgd_walk-use-limit-argument-instead-of-FIXADD.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0106-xen-pgd_walk-use-limit-argument-instead-of-FIXADD.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0106-xen-pgd_walk-use-limit-argument-instead-of-FIXADD.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 682b00f0631467c7767e4b8d365de9aeeed1febb Mon Sep 17 00:00:00 2001
+From 608bd7e63dfe7916939867a2acba88f209017b2e Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Mon, 7 Jan 2008 19:06:06 -0200
 Subject: [PATCH] xen pgd_walk: use 'limit' argument instead of FIXADDR_TOP constant

linux-2.6-xen-0107-xen-pgd_walk-Eliminate-BUG_ON-limit-FIXADDR_TOP.patch:

Index: linux-2.6-xen-0107-xen-pgd_walk-Eliminate-BUG_ON-limit-FIXADDR_TOP.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0107-xen-pgd_walk-Eliminate-BUG_ON-limit-FIXADDR_TOP.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0107-xen-pgd_walk-Eliminate-BUG_ON-limit-FIXADDR_TOP.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0107-xen-pgd_walk-Eliminate-BUG_ON-limit-FIXADDR_TOP.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 782c4acc0769a49ec0d91be1a11f01aaa1005cc1 Mon Sep 17 00:00:00 2001
+From 9196ec35924772fa1c6c4058a4d1c67f707c9cae Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Mon, 7 Jan 2008 19:07:26 -0200
 Subject: [PATCH] xen pgd_walk: Eliminate BUG_ON(limit > FIXADDR_TOP)

linux-2.6-xen-0108-xen-pgd_walk-accept-start-parameter.patch:

Index: linux-2.6-xen-0108-xen-pgd_walk-accept-start-parameter.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0108-xen-pgd_walk-accept-start-parameter.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0108-xen-pgd_walk-accept-start-parameter.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0108-xen-pgd_walk-accept-start-parameter.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 48a1766cf0c45b62b807cf5877514a08cdd87085 Mon Sep 17 00:00:00 2001
+From c4aea57406ed420e5764e985961cd871a772ea1e Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Mon, 7 Jan 2008 19:15:35 -0200
 Subject: [PATCH] xen pgd_walk: accept 'start' parameter

linux-2.6-xen-0109-xen-64-reserve_bootmem-xen_start_info-area.patch:

Index: linux-2.6-xen-0109-xen-64-reserve_bootmem-xen_start_info-area.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0109-xen-64-reserve_bootmem-xen_start_info-area.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0109-xen-64-reserve_bootmem-xen_start_info-area.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0109-xen-64-reserve_bootmem-xen_start_info-area.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 72990d9cb491968f2832d86ad7c8c7289d544f72 Mon Sep 17 00:00:00 2001
+From eda8a349155de2f484f27ca209a09afc7bd8e891 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Mon, 14 Jan 2008 19:51:36 -0200
 Subject: [PATCH] xen-64: reserve_bootmem() xen_start_info area

linux-2.6-xen-0110-pvops-64-call-paravirt_post_allocator_init-on-set.patch:

Index: linux-2.6-xen-0110-pvops-64-call-paravirt_post_allocator_init-on-set.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0110-pvops-64-call-paravirt_post_allocator_init-on-set.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0110-pvops-64-call-paravirt_post_allocator_init-on-set.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0110-pvops-64-call-paravirt_post_allocator_init-on-set.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 5a43dd767557854f6fb5baaffd4b1ea7eb5874d0 Mon Sep 17 00:00:00 2001
+From 83629da822ce923b85e5b4b662441dd4e161557a Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Mon, 14 Jan 2008 19:52:23 -0200
 Subject: [PATCH] pvops-64: call paravirt_post_allocator_init() on setup_arch()

linux-2.6-xen-0111-use-write_gdt_entry-on-vsyscall_set_cpu-CLEANME.patch:

Index: linux-2.6-xen-0111-use-write_gdt_entry-on-vsyscall_set_cpu-CLEANME.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0111-use-write_gdt_entry-on-vsyscall_set_cpu-CLEANME.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0111-use-write_gdt_entry-on-vsyscall_set_cpu-CLEANME.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0111-use-write_gdt_entry-on-vsyscall_set_cpu-CLEANME.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 032db17d0a2c3871adcb8e07424d1ed138d85ad2 Mon Sep 17 00:00:00 2001
+From 8090af1d9b0678fc118fe3e359f944a1ef5034e3 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Mon, 14 Jan 2008 19:53:14 -0200
 Subject: [PATCH] use write_gdt_entry() on vsyscall_set_cpu() (CLEANME)

linux-2.6-xen-0112-xen-64-implement-xen_load_gs_index.patch:

Index: linux-2.6-xen-0112-xen-64-implement-xen_load_gs_index.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0112-xen-64-implement-xen_load_gs_index.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0112-xen-64-implement-xen_load_gs_index.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0112-xen-64-implement-xen_load_gs_index.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 6a9fbb993d87720227e167ed20b478b57b8efa69 Mon Sep 17 00:00:00 2001
+From c6e20002c96c7fb1c99b6f4b1c2276459149eed4 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Mon, 14 Jan 2008 19:56:21 -0200
 Subject: [PATCH] xen-64: implement xen_load_gs_index()
@@ -9,10 +9,10 @@
  1 files changed, 10 insertions(+), 0 deletions(-)
 
 diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
-index 2fceedd..1404bb2 100644
+index 627d8b6..b383376 100644
 --- a/arch/x86/xen/enlighten.c
 +++ b/arch/x86/xen/enlighten.c
-@@ -455,6 +455,13 @@ static void xen_load_tls(struct thread_struct *t, unsigned int cpu)
+@@ -424,6 +424,13 @@ static void xen_load_tls(struct thread_struct *t, unsigned int cpu)
  #endif
  }
  
@@ -26,7 +26,7 @@
  static void xen_write_ldt_entry(struct desc_struct *dt, int entrynum,
  				const void *ptr)
  {
-@@ -1172,6 +1179,9 @@ static const struct pv_cpu_ops xen_cpu_ops __initdata = {
+@@ -1141,6 +1148,9 @@ static const struct pv_cpu_ops xen_cpu_ops __initdata = {
  	.load_gdt = xen_load_gdt,
  	.load_idt = xen_load_idt,
  	.load_tls = xen_load_tls,

linux-2.6-xen-0113-include-asm-x86-pgalloc_64.h-pvops-hacks-SPLITME.patch:

Index: linux-2.6-xen-0113-include-asm-x86-pgalloc_64.h-pvops-hacks-SPLITME.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0113-include-asm-x86-pgalloc_64.h-pvops-hacks-SPLITME.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0113-include-asm-x86-pgalloc_64.h-pvops-hacks-SPLITME.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0113-include-asm-x86-pgalloc_64.h-pvops-hacks-SPLITME.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 738819041db19177517cf41aa90fa2b10e172595 Mon Sep 17 00:00:00 2001
+From 7e3847a644fd6f564b044236d068dd5fff9f71d7 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Mon, 14 Jan 2008 20:01:22 -0200
 Subject: [PATCH] include/asm-x86/pgalloc_64.h pvops hacks (SPLITME)

linux-2.6-xen-0114-Multi-pagetable-write_cr3-implementation-FIXME.patch:

Index: linux-2.6-xen-0114-Multi-pagetable-write_cr3-implementation-FIXME.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0114-Multi-pagetable-write_cr3-implementation-FIXME.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0114-Multi-pagetable-write_cr3-implementation-FIXME.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0114-Multi-pagetable-write_cr3-implementation-FIXME.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 07081b977de05414171ee424fbdc5d34cc093cbc Mon Sep 17 00:00:00 2001
+From 5e6a16a5a32f32cbfca64fca847b356cfd7cd03f Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Mon, 14 Jan 2008 20:02:02 -0200
 Subject: [PATCH] Multi-pagetable write_cr3() implementation (FIXME)
@@ -11,7 +11,7 @@
  1 files changed, 30 insertions(+), 1 deletions(-)
 
 diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
-index 1404bb2..82c34c3 100644
+index b383376..83aaa69 100644
 --- a/arch/x86/xen/enlighten.c
 +++ b/arch/x86/xen/enlighten.c
 @@ -37,6 +37,7 @@
@@ -22,7 +22,7 @@
  #include <asm/xen/hypercall.h>
  #include <asm/xen/hypervisor.h>
  #include <asm/fixmap.h>
-@@ -742,7 +743,10 @@ static void xen_write_cr3(unsigned long cr3)
+@@ -711,7 +712,10 @@ static void xen_write_cr3(unsigned long cr3)
  
  	BUG_ON(preemptible());
  
@@ -34,7 +34,7 @@
  
  	/* Update while interrupts are disabled, so its atomic with
  	   respect to ipis */
-@@ -758,9 +762,32 @@ static void xen_write_cr3(unsigned long cr3)
+@@ -727,9 +731,32 @@ static void xen_write_cr3(unsigned long cr3)
  	   been submitted. */
  	xen_mc_callback(set_current_cr3, (void *)cr3);
  
@@ -67,7 +67,7 @@
  static void xen_new_user_baseptr(unsigned long pfn)
  {
  	struct mmuext_op *op;
-@@ -779,6 +806,8 @@ static void xen_new_user_baseptr(unsigned long pfn)
+@@ -748,6 +775,8 @@ static void xen_new_user_baseptr(unsigned long pfn)
  
  	xen_mc_issue(PARAVIRT_LAZY_CPU);  /* interrupts restored */
  }

linux-2.6-xen-0115-Make-kcons_write_dom0-non-static-TEMPORARY.patch:

Index: linux-2.6-xen-0115-Make-kcons_write_dom0-non-static-TEMPORARY.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0115-Make-kcons_write_dom0-non-static-TEMPORARY.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0115-Make-kcons_write_dom0-non-static-TEMPORARY.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0115-Make-kcons_write_dom0-non-static-TEMPORARY.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From edbdcdf5b153da991d01783c01d8664d8a6f8781 Mon Sep 17 00:00:00 2001
+From 05eec5d9d4573795441351a51868ac5fc16374af Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 23 Jan 2008 15:14:54 -0200
 Subject: [PATCH] Make kcons_write_dom0() non-static (TEMPORARY)
@@ -9,7 +9,7 @@
  1 files changed, 1 insertions(+), 1 deletions(-)
 
 diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
-index 82c34c3..5c74aef 100644
+index 83aaa69..8a5e26c 100644
 --- a/arch/x86/xen/enlighten.c
 +++ b/arch/x86/xen/enlighten.c
 @@ -147,7 +147,7 @@ static void __init xen_vcpu_setup(int cpu)

linux-2.6-xen-0116-Disable-the-weird-count-loop-on-kcons_write_dom0.patch:

Index: linux-2.6-xen-0116-Disable-the-weird-count-loop-on-kcons_write_dom0.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0116-Disable-the-weird-count-loop-on-kcons_write_dom0.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0116-Disable-the-weird-count-loop-on-kcons_write_dom0.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0116-Disable-the-weird-count-loop-on-kcons_write_dom0.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 52017942a0817a85ded61b7921cf62b490133ce4 Mon Sep 17 00:00:00 2001
+From 693d2454c9abdf69034cda1a72b091a76d2e9580 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 23 Jan 2008 15:15:34 -0200
 Subject: [PATCH] Disable the weird count loop on kcons_write_dom0()
@@ -9,7 +9,7 @@
  1 files changed, 4 insertions(+), 0 deletions(-)
 
 diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
-index 5c74aef..ce3961b 100644
+index 8a5e26c..2f6bacb 100644
 --- a/arch/x86/xen/enlighten.c
 +++ b/arch/x86/xen/enlighten.c
 @@ -149,6 +149,7 @@ static void __init xen_vcpu_setup(int cpu)

linux-2.6-xen-0117-Make-xen_start_info-read-only.patch:

Index: linux-2.6-xen-0117-Make-xen_start_info-read-only.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0117-Make-xen_start_info-read-only.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0117-Make-xen_start_info-read-only.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0117-Make-xen_start_info-read-only.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From d979c416c1e34fea6f33d692a7cba70f033a1db8 Mon Sep 17 00:00:00 2001
+From f1704bcd59827ab3240d18de185ff530c3a03ea7 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Mon, 14 Jan 2008 20:20:55 -0200
 Subject: [PATCH] Make xen_start_info read-only

linux-2.6-xen-0118-Hack-to-implement-return-to-userspace-without-SWAPGS.patch:

Index: linux-2.6-xen-0118-Hack-to-implement-return-to-userspace-without-SWAPGS.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0118-Hack-to-implement-return-to-userspace-without-SWAPGS.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0118-Hack-to-implement-return-to-userspace-without-SWAPGS.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0118-Hack-to-implement-return-to-userspace-without-SWAPGS.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From e0cb0ee7c19f296ec242d60fb63525daf31e8a18 Mon Sep 17 00:00:00 2001
+From 76562f2062a68f7d6b4fd956b702feaa789beef0 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Fri, 18 Jan 2008 17:12:43 -0200
 Subject: [PATCH] Hack to implement return to userspace without SWAPGS (CLEANME)

linux-2.6-xen-0119-Xen-SEGBASE_-defines.patch:

Index: linux-2.6-xen-0119-Xen-SEGBASE_-defines.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0119-Xen-SEGBASE_-defines.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0119-Xen-SEGBASE_-defines.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0119-Xen-SEGBASE_-defines.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 1b54824286552da7c3ff179645ecfaa7022073d2 Mon Sep 17 00:00:00 2001
+From 69c8e25808877b5bfe61b348c0352a09f94c0ff8 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 23 Jan 2008 15:36:24 -0200
 Subject: [PATCH] Xen: SEGBASE_* defines

linux-2.6-xen-0120-Xen-HYPERVISOR_set_segment_base-implementation.patch:

Index: linux-2.6-xen-0120-Xen-HYPERVISOR_set_segment_base-implementation.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0120-Xen-HYPERVISOR_set_segment_base-implementation.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0120-Xen-HYPERVISOR_set_segment_base-implementation.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0120-Xen-HYPERVISOR_set_segment_base-implementation.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From fee88f76dd229e39d3f401ef80874e64c6b375f7 Mon Sep 17 00:00:00 2001
+From 7007bb2136b660856263478ddc5d130ee922a0be Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 23 Jan 2008 15:37:20 -0200
 Subject: [PATCH] Xen: HYPERVISOR_set_segment_base() implementation

linux-2.6-xen-0121-Change-signature-of-paravirt_alloc_-pt-pd-REVIEWME.patch:

Index: linux-2.6-xen-0121-Change-signature-of-paravirt_alloc_-pt-pd-REVIEWME.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0121-Change-signature-of-paravirt_alloc_-pt-pd-REVIEWME.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0121-Change-signature-of-paravirt_alloc_-pt-pd-REVIEWME.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0121-Change-signature-of-paravirt_alloc_-pt-pd-REVIEWME.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 516a41002c57b63cc26f142afe34b40e4e85159b Mon Sep 17 00:00:00 2001
+From 9cb833a9894d7e1b94ef6ca86c93733718312175 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 23 Jan 2008 16:02:24 -0200
 Subject: [PATCH] Change signature of paravirt_alloc_{pt,pd} (REVIEWME)
@@ -14,10 +14,10 @@
  2 files changed, 18 insertions(+), 17 deletions(-)
 
 diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
-index ce3961b..64bfde9 100644
+index 2f6bacb..022ffd8 100644
 --- a/arch/x86/xen/enlighten.c
 +++ b/arch/x86/xen/enlighten.c
-@@ -815,7 +815,7 @@ static void xen_new_user_baseptr(unsigned long pfn)
+@@ -784,7 +784,7 @@ static void xen_new_user_baseptr(unsigned long pfn)
  
  /* Early in boot, while setting up the initial pagetable, assume
     everything is pinned. */
@@ -26,7 +26,7 @@
  {
  	BUG_ON(mem_map);	/* should only be used early */
  	make_lowmem_page_readonly(__va(PFN_PHYS(pfn)));
-@@ -823,7 +823,7 @@ static __init void xen_alloc_pt_init(struct mm_struct *mm, u32 pfn)
+@@ -792,7 +792,7 @@ static __init void xen_alloc_pt_init(struct mm_struct *mm, u32 pfn)
  
  /* Early release_pt assumes that all pts are pinned, since there's
     only init_mm and anything attached to that is pinned. */
@@ -35,7 +35,7 @@
  {
  	make_lowmem_page_readwrite(__va(PFN_PHYS(pfn)));
  }
-@@ -839,7 +839,8 @@ static void pin_pagetable_pfn(unsigned cmd, unsigned long pfn)
+@@ -808,7 +808,8 @@ static void pin_pagetable_pfn(unsigned cmd, unsigned long pfn)
  
  /* This needs to make sure the new pte page is pinned iff its being
     attached to a pinned pagetable. */
@@ -45,7 +45,7 @@
  {
  	struct page *page = pfn_to_page(pfn);
  
-@@ -857,18 +858,18 @@ static void xen_alloc_ptpage(struct mm_struct *mm, u32 pfn, unsigned level)
+@@ -826,18 +827,18 @@ static void xen_alloc_ptpage(struct mm_struct *mm, u32 pfn, unsigned level)
  	}
  }
  
@@ -67,7 +67,7 @@
  {
  	struct page *page = pfn_to_page(pfn);
  
-@@ -882,12 +883,12 @@ static void xen_release_ptpage(u32 pfn, unsigned level)
+@@ -851,12 +852,12 @@ static void xen_release_ptpage(u32 pfn, unsigned level)
  	}
  }
  

linux-2.6-xen-0122-Comment-e820_print_map-call-TEMPORARY.patch:

Index: linux-2.6-xen-0122-Comment-e820_print_map-call-TEMPORARY.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0122-Comment-e820_print_map-call-TEMPORARY.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0122-Comment-e820_print_map-call-TEMPORARY.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0122-Comment-e820_print_map-call-TEMPORARY.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From bd49ae20b61ea55ca9b95811aeab4e8dab6924b6 Mon Sep 17 00:00:00 2001
+From 2d87f966aee78ff2fa057384e4c22a939c4f0002 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 23 Jan 2008 16:03:11 -0200
 Subject: [PATCH] Comment e820_print_map() call (TEMPORARY)

linux-2.6-xen-0123-Xen-missing-includes.patch:

Index: linux-2.6-xen-0123-Xen-missing-includes.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0123-Xen-missing-includes.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0123-Xen-missing-includes.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0123-Xen-missing-includes.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From b0d51d9ca43088fab22946229506aae3a6ef7a63 Mon Sep 17 00:00:00 2001
+From ca52c06a858e94974090a1e27cd6c7f4cd7a6a27 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 23 Jan 2008 16:13:41 -0200
 Subject: [PATCH] Xen: missing #includes

linux-2.6-xen-0124-asm-x86-pgtable_64.h-include-linux-spinlock.h.patch:

Index: linux-2.6-xen-0124-asm-x86-pgtable_64.h-include-linux-spinlock.h.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0124-asm-x86-pgtable_64.h-include-linux-spinlock.h.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0124-asm-x86-pgtable_64.h-include-linux-spinlock.h.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0124-asm-x86-pgtable_64.h-include-linux-spinlock.h.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From f9d0c64d63bb7ba9fdc30c9a0ddd8bddf749004a Mon Sep 17 00:00:00 2001
+From ef9eecc8d3945227f90703ccf691088d38da307b Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 23 Jan 2008 16:14:04 -0200
 Subject: [PATCH] asm-x86/pgtable_64.h: #include <linux/spinlock.h>

linux-2.6-xen-0125-asm-x86-pgtable.h-include-asm-page.h.patch:

Index: linux-2.6-xen-0125-asm-x86-pgtable.h-include-asm-page.h.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0125-asm-x86-pgtable.h-include-asm-page.h.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0125-asm-x86-pgtable.h-include-asm-page.h.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0125-asm-x86-pgtable.h-include-asm-page.h.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 3313946e4c3e2531993fe1a40f5b4e2d8115c2cb Mon Sep 17 00:00:00 2001
+From dc269f9b5464dbe9525cd8b66e02e439224067d8 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 23 Jan 2008 16:14:25 -0200
 Subject: [PATCH] asm-x86/pgtable.h: #include <asm/page.h>

linux-2.6-xen-0126-fix-pxxval_t-usage-on-mm-init_64.c.patch:

Index: linux-2.6-xen-0126-fix-pxxval_t-usage-on-mm-init_64.c.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0126-fix-pxxval_t-usage-on-mm-init_64.c.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0126-fix-pxxval_t-usage-on-mm-init_64.c.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0126-fix-pxxval_t-usage-on-mm-init_64.c.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 60819cab41dec4fa8f5b75dc3dd5ad0c30da600c Mon Sep 17 00:00:00 2001
+From 0f54e0b7e36d78267cda0e1893db80f1f2be485f Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 23 Jan 2008 16:15:55 -0200
 Subject: [PATCH] fix pxxval_t usage on mm/init_64.c

linux-2.6-xen-0127-Missing-Xen-include.patch:

Index: linux-2.6-xen-0127-Missing-Xen-include.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0127-Missing-Xen-include.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0127-Missing-Xen-include.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0127-Missing-Xen-include.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From d5d1513fc1d0371b846f8e9dca4604d87ad22749 Mon Sep 17 00:00:00 2001
+From 4bbc974d41845bff85d27c6eb6e4147529f719a8 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 23 Jan 2008 16:18:18 -0200
 Subject: [PATCH] Missing Xen #include

linux-2.6-xen-0128-un-static-ipi_to_irq.patch:

Index: linux-2.6-xen-0128-un-static-ipi_to_irq.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0128-un-static-ipi_to_irq.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0128-un-static-ipi_to_irq.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0128-un-static-ipi_to_irq.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 1364e55258572f5f12468184bd87d4fb9d5279f3 Mon Sep 17 00:00:00 2001
+From 6ad9228a77401a3b6b7a81e230e1fc82a9b6162a Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 23 Jan 2008 16:26:52 -0200
 Subject: [PATCH] un-static ipi_to_irq

linux-2.6-xen-0129-Don-t-use-_PAGE_GLOBAL-bit-under-Xen-FIXME.patch:

Index: linux-2.6-xen-0129-Don-t-use-_PAGE_GLOBAL-bit-under-Xen-FIXME.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0129-Don-t-use-_PAGE_GLOBAL-bit-under-Xen-FIXME.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0129-Don-t-use-_PAGE_GLOBAL-bit-under-Xen-FIXME.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0129-Don-t-use-_PAGE_GLOBAL-bit-under-Xen-FIXME.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 81aee7249580a09d0a8a1d286d6b8dec8b6f327b Mon Sep 17 00:00:00 2001
+From 254af33fddd8e3e18b469b06dc54c2962a5d1a8a Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 23 Jan 2008 17:26:40 -0200
 Subject: [PATCH] Don't use _PAGE_GLOBAL bit under Xen (FIXME)

linux-2.6-xen-0130-Trying-to-organize-the-xen-bootmem-allocation-mess.patch:

Index: linux-2.6-xen-0130-Trying-to-organize-the-xen-bootmem-allocation-mess.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0130-Trying-to-organize-the-xen-bootmem-allocation-mess.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0130-Trying-to-organize-the-xen-bootmem-allocation-mess.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0130-Trying-to-organize-the-xen-bootmem-allocation-mess.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From d3a9509b325a4cb4086238af0a197bdfbd00c08c Mon Sep 17 00:00:00 2001
+From 599010c82a89555a6041947f0d31d06e659e76a0 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 23 Jan 2008 18:51:58 -0200
 Subject: [PATCH] Trying to organize the xen bootmem allocation mess (REVIEWME)
@@ -145,10 +145,10 @@
  
  #ifndef CONFIG_NUMA
 diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
-index 64bfde9..ba9e4d1 100644
+index 022ffd8..ec77f56 100644
 --- a/arch/x86/xen/enlighten.c
 +++ b/arch/x86/xen/enlighten.c
-@@ -929,6 +929,11 @@ static __init void xen_set_pte_init(pte_t *ptep, pte_t pte)
+@@ -898,6 +898,11 @@ static __init void xen_set_pte_init(pte_t *ptep, pte_t pte)
  	xen_set_pte(ptep, pte);
  }
  
@@ -160,7 +160,7 @@
  static __init void xen_pagetable_setup_start(pgd_t *base)
  {
  #ifdef CONFIG_X86_32
-@@ -1042,6 +1047,12 @@ static __init void xen_pagetable_setup_done(pgd_t *base)
+@@ -1011,6 +1016,12 @@ static __init void xen_pagetable_setup_done(pgd_t *base)
  		pin_pagetable_pfn(level, PFN_DOWN(__pa(base)));
  	}
  #endif
@@ -173,7 +173,7 @@
  }
  
  /* This is called once we have the cpu_possible_map */
-@@ -1393,6 +1404,8 @@ static void __init xen_reserve_top(void)
+@@ -1362,6 +1373,8 @@ static void __init xen_reserve_top(void)
  #define xen_reserve_top() do { } while (0)
  #endif
  
@@ -182,7 +182,7 @@
  /* First C function to be called on Xen boot */
  asmlinkage void __init xen_start_kernel(void)
  {
-@@ -1451,7 +1464,7 @@ asmlinkage void __init xen_start_kernel(void)
+@@ -1420,7 +1433,7 @@ asmlinkage void __init xen_start_kernel(void)
  
  #ifdef CONFIG_X86_64
  	/* used by alloc_low_page() */

linux-2.6-xen-0131-Don-t-call-xprintk-when-writing-to-hvc-console.patch:

Index: linux-2.6-xen-0131-Don-t-call-xprintk-when-writing-to-hvc-console.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0131-Don-t-call-xprintk-when-writing-to-hvc-console.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0131-Don-t-call-xprintk-when-writing-to-hvc-console.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0131-Don-t-call-xprintk-when-writing-to-hvc-console.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 5fa561fc4264fba7a996f3235d62f2660caccd7d Mon Sep 17 00:00:00 2001
+From a5c7312ab07afa97ceba513555fefb3b33e1cc9c Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 23 Jan 2008 18:54:07 -0200
 Subject: [PATCH] Don't call xprintk() when writing to hvc console

linux-2.6-xen-0132-Xen-reserve_bootmem-xenstore-and-console-interfac.patch:

Index: linux-2.6-xen-0132-Xen-reserve_bootmem-xenstore-and-console-interfac.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0132-Xen-reserve_bootmem-xenstore-and-console-interfac.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0132-Xen-reserve_bootmem-xenstore-and-console-interfac.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0132-Xen-reserve_bootmem-xenstore-and-console-interfac.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 517231df8e4eab4a3721e465b132cfeca4b98e95 Mon Sep 17 00:00:00 2001
+From f13dbe8666b461031ce442fe274cf2bd8ef0d4e2 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Fri, 25 Jan 2008 11:16:57 -0200
 Subject: [PATCH] Xen: reserve_bootmem() xenstore and console interface pages

linux-2.6-xen-0133-pvops-64-call-paravirt_activate_mm-on-activate_mm.patch:

Index: linux-2.6-xen-0133-pvops-64-call-paravirt_activate_mm-on-activate_mm.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0133-pvops-64-call-paravirt_activate_mm-on-activate_mm.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0133-pvops-64-call-paravirt_activate_mm-on-activate_mm.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0133-pvops-64-call-paravirt_activate_mm-on-activate_mm.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 9d189087606508e5ff87bd2235a62aba3862038e Mon Sep 17 00:00:00 2001
+From 14b93d2ce0ee55968d16908b1301ac2ddf91bb12 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Fri, 25 Jan 2008 12:01:11 -0200
 Subject: [PATCH] pvops-64: call paravirt_activate_mm() on activate_mm()

linux-2.6-xen-0134-Xen-64-bit-support-on-xen_pgd_pin.patch:

Index: linux-2.6-xen-0134-Xen-64-bit-support-on-xen_pgd_pin.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0134-Xen-64-bit-support-on-xen_pgd_pin.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0134-Xen-64-bit-support-on-xen_pgd_pin.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0134-Xen-64-bit-support-on-xen_pgd_pin.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 5283942234603065e6d9993b4ceec84d3bcb2d96 Mon Sep 17 00:00:00 2001
+From 6bedb8a5cc3d9a8ca2f9e65942a954b6d713847b Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Fri, 25 Jan 2008 12:04:10 -0200
 Subject: [PATCH] Xen: 64-bit support on xen_pgd_pin()

linux-2.6-xen-0135-Xen-64-pin-user-PGD-on-activate_mm-and-dup_mmap.patch:

Index: linux-2.6-xen-0135-Xen-64-pin-user-PGD-on-activate_mm-and-dup_mmap.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0135-Xen-64-pin-user-PGD-on-activate_mm-and-dup_mmap.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0135-Xen-64-pin-user-PGD-on-activate_mm-and-dup_mmap.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0135-Xen-64-pin-user-PGD-on-activate_mm-and-dup_mmap.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 3f06b5e990d7ffc97a36c27dfe60d948352cfc37 Mon Sep 17 00:00:00 2001
+From a40b388cb32f551784330eb1a6ab1f39eb526d04 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Fri, 25 Jan 2008 12:05:30 -0200
 Subject: [PATCH] Xen-64: pin user PGD on activate_mm() and dup_mmap()

linux-2.6-xen-0136-pgd_walk-changes-to-make-pgd-pinning-work-FIXME.patch:

Index: linux-2.6-xen-0136-pgd_walk-changes-to-make-pgd-pinning-work-FIXME.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0136-pgd_walk-changes-to-make-pgd-pinning-work-FIXME.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0136-pgd_walk-changes-to-make-pgd-pinning-work-FIXME.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0136-pgd_walk-changes-to-make-pgd-pinning-work-FIXME.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From c99b22335f498f473ceb987d15822107e83aadd3 Mon Sep 17 00:00:00 2001
+From 3c180dca9516168328dcf2c5c788a8304e8513cc Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Fri, 25 Jan 2008 12:20:28 -0200
 Subject: [PATCH] pgd_walk() changes to make pgd pinning work (FIXME)

linux-2.6-xen-0137-Xen-Add-a-order-parameter-to-pgd_walk.patch:

Index: linux-2.6-xen-0137-Xen-Add-a-order-parameter-to-pgd_walk.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0137-Xen-Add-a-order-parameter-to-pgd_walk.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0137-Xen-Add-a-order-parameter-to-pgd_walk.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0137-Xen-Add-a-order-parameter-to-pgd_walk.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From d28fb0a32782e769f6858c66497bd17710dcf53b Mon Sep 17 00:00:00 2001
+From 495988082f5ddd346cf197800b733a4410e9cfc4 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Fri, 8 Feb 2008 13:38:09 -0200
 Subject: [PATCH] Xen: Add a order parameter to pgd_walk()

linux-2.6-xen-0138-Xen-64-Unpin-user-pagetable-on-xen_pgd_unpin.patch:

Index: linux-2.6-xen-0138-Xen-64-Unpin-user-pagetable-on-xen_pgd_unpin.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0138-Xen-64-Unpin-user-pagetable-on-xen_pgd_unpin.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0138-Xen-64-Unpin-user-pagetable-on-xen_pgd_unpin.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0138-Xen-64-Unpin-user-pagetable-on-xen_pgd_unpin.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 5393faca4c05356561746fca1f0159d7f41fbcb0 Mon Sep 17 00:00:00 2001
+From 7ba97eb2febadfd6ca400dcdeb488666168004f5 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Fri, 8 Feb 2008 13:41:33 -0200
 Subject: [PATCH] Xen-64: Unpin user pagetable on xen_pgd_unpin()

linux-2.6-xen-0139-Use-un-pin_page-when-un-pinning-pgd.patch:

Index: linux-2.6-xen-0139-Use-un-pin_page-when-un-pinning-pgd.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0139-Use-un-pin_page-when-un-pinning-pgd.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0139-Use-un-pin_page-when-un-pinning-pgd.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0139-Use-un-pin_page-when-un-pinning-pgd.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From a395a498132c820819c720db1d5ef3ed8a466ec8 Mon Sep 17 00:00:00 2001
+From cb123da2b00786961460a1bf1cb30aa1c930441c Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 13 Feb 2008 13:24:31 -0200
 Subject: [PATCH] Use (un)pin_page() when (un)pinning pgd

linux-2.6-xen-0140-Allow-enabling-Xen-on-x86_64.patch:

Index: linux-2.6-xen-0140-Allow-enabling-Xen-on-x86_64.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0140-Allow-enabling-Xen-on-x86_64.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0140-Allow-enabling-Xen-on-x86_64.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0140-Allow-enabling-Xen-on-x86_64.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From da6910d286150f520b0f7e2a48d30695966997e5 Mon Sep 17 00:00:00 2001
+From b9a0f7141bb50e946e1ac89ce789f29cae2bd38a Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Fri, 29 Feb 2008 13:07:13 -0300
 Subject: [PATCH] Allow enabling Xen on x86_64

linux-2.6-xen-0141-Add-include-linux-spinlock_types.h-to-asm-x86-pgt.patch:

Index: linux-2.6-xen-0141-Add-include-linux-spinlock_types.h-to-asm-x86-pgt.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0141-Add-include-linux-spinlock_types.h-to-asm-x86-pgt.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0141-Add-include-linux-spinlock_types.h-to-asm-x86-pgt.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0141-Add-include-linux-spinlock_types.h-to-asm-x86-pgt.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 5fd90df9b76ff4725414e3d44327267ab7841bae Mon Sep 17 00:00:00 2001
+From 1705e31b27f162661c360d460fb8f74f0f693686 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Fri, 29 Feb 2008 13:21:11 -0300
 Subject: [PATCH] Add #include <linux/spinlock_types.h> to asm-x86/pgtable.h

linux-2.6-xen-0142-Restore-some-sanity-on-the-initial-pagetable-bootmem.patch:

Index: linux-2.6-xen-0142-Restore-some-sanity-on-the-initial-pagetable-bootmem.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0142-Restore-some-sanity-on-the-initial-pagetable-bootmem.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0142-Restore-some-sanity-on-the-initial-pagetable-bootmem.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0142-Restore-some-sanity-on-the-initial-pagetable-bootmem.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 7d6117f330711b769911634cffd5d49e8845f3a3 Mon Sep 17 00:00:00 2001
+From 9b7ec46005134c525b22e53c76893b2ede971a91 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Fri, 29 Feb 2008 17:29:45 -0300
 Subject: [PATCH] Restore some sanity on the initial pagetable bootmem reservation
@@ -43,10 +43,10 @@
  
  #ifndef CONFIG_NUMA
 diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
-index ba9e4d1..c349af6 100644
+index ec77f56..bfa9937 100644
 --- a/arch/x86/xen/enlighten.c
 +++ b/arch/x86/xen/enlighten.c
-@@ -1047,12 +1047,6 @@ static __init void xen_pagetable_setup_done(pgd_t *base)
+@@ -1016,12 +1016,6 @@ static __init void xen_pagetable_setup_done(pgd_t *base)
  		pin_pagetable_pfn(level, PFN_DOWN(__pa(base)));
  	}
  #endif

linux-2.6-xen-0143-Xen-Use-system_call_after_swapgs-as-the-syscall-c.patch:

Index: linux-2.6-xen-0143-Xen-Use-system_call_after_swapgs-as-the-syscall-c.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0143-Xen-Use-system_call_after_swapgs-as-the-syscall-c.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0143-Xen-Use-system_call_after_swapgs-as-the-syscall-c.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0143-Xen-Use-system_call_after_swapgs-as-the-syscall-c.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 5e4175335c6aab9f17ea289f57d2fe9e36309192 Mon Sep 17 00:00:00 2001
+From 448edccc55358986ab243988db576e8c2cfdc6ba Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Fri, 25 Jan 2008 13:05:29 -0200
 Subject: [PATCH] Xen: Use system_call_after_swapgs() as the syscall callback

linux-2.6-xen-0144-DEBUG-write-to-HV-console-on-printk.patch:

Index: linux-2.6-xen-0144-DEBUG-write-to-HV-console-on-printk.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0144-DEBUG-write-to-HV-console-on-printk.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0144-DEBUG-write-to-HV-console-on-printk.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0144-DEBUG-write-to-HV-console-on-printk.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 6c710216d0cfd3d6922eefb2d90be0c7b3f55449 Mon Sep 17 00:00:00 2001
+From 1220f40d2411ae1a797b3f4ae963c13afb8c4b21 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Fri, 25 Jan 2008 13:34:56 -0200
 Subject: [PATCH] DEBUG: write to HV console on printk()

linux-2.6-xen-0145-Add-a-system_call_after_saveargs-label-to-entry_64.S.patch:

Index: linux-2.6-xen-0145-Add-a-system_call_after_saveargs-label-to-entry_64.S.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0145-Add-a-system_call_after_saveargs-label-to-entry_64.S.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0145-Add-a-system_call_after_saveargs-label-to-entry_64.S.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0145-Add-a-system_call_after_saveargs-label-to-entry_64.S.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From e678014ddf212a4726b466f673d8d3e4ce47b6e2 Mon Sep 17 00:00:00 2001
+From 6af6a3de4dc1eb95cb8f2b40d9f16b20b072a710 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Mon, 4 Feb 2008 17:26:46 -0200
 Subject: [PATCH] Add a system_call_after_saveargs label to entry_64.S

linux-2.6-xen-0146-Create-xen-specific-syscall-entry.patch:

Index: linux-2.6-xen-0146-Create-xen-specific-syscall-entry.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0146-Create-xen-specific-syscall-entry.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0146-Create-xen-specific-syscall-entry.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0146-Create-xen-specific-syscall-entry.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 584dcd8171fee20dde5d1e553a6430eb361c72d4 Mon Sep 17 00:00:00 2001
+From 127ecaf2197b58a6be03a5a22ce794264d15d145 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Mon, 4 Feb 2008 17:36:08 -0200
 Subject: [PATCH] Create xen-specific syscall entry

linux-2.6-xen-0147-syscall-related-Xen-ifdefs-FIXME.patch:

Index: linux-2.6-xen-0147-syscall-related-Xen-ifdefs-FIXME.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0147-syscall-related-Xen-ifdefs-FIXME.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0147-syscall-related-Xen-ifdefs-FIXME.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0147-syscall-related-Xen-ifdefs-FIXME.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 43bffc2aeee4f4183d0a00e1d1ea2b41939d1489 Mon Sep 17 00:00:00 2001
+From bd628e4b2fe7d9ea476030213108e537bc877f30 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Mon, 4 Feb 2008 17:38:24 -0200
 Subject: [PATCH] syscall-related Xen #ifdefs (FIXME)

linux-2.6-xen-0148-Point-set_pte-to-xen_set_pte-since-the-beginning.patch:

Index: linux-2.6-xen-0148-Point-set_pte-to-xen_set_pte-since-the-beginning.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0148-Point-set_pte-to-xen_set_pte-since-the-beginning.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0148-Point-set_pte-to-xen_set_pte-since-the-beginning.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0148-Point-set_pte-to-xen_set_pte-since-the-beginning.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From bd1e0d145d4816cdb4be98a41b2b558d0733b400 Mon Sep 17 00:00:00 2001
+From 512b10aedef9dedda83fd1425abee88ef87a5edb Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Fri, 8 Feb 2008 12:36:28 -0200
 Subject: [PATCH] Point set_pte() to xen_set_pte() since the beginning
@@ -12,10 +12,10 @@
  1 files changed, 1 insertions(+), 1 deletions(-)
 
 diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
-index c349af6..c100ad6 100644
+index bfa9937..7efbd5e 100644
 --- a/arch/x86/xen/enlighten.c
 +++ b/arch/x86/xen/enlighten.c
-@@ -1289,7 +1289,7 @@ static const struct pv_mmu_ops xen_mmu_ops __initdata = {
+@@ -1258,7 +1258,7 @@ static const struct pv_mmu_ops xen_mmu_ops __initdata = {
  	.kmap_atomic_pte = xen_kmap_atomic_pte,
  #endif
  

linux-2.6-xen-0149-DEBUG-slab-debugging.patch:

Index: linux-2.6-xen-0149-DEBUG-slab-debugging.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0149-DEBUG-slab-debugging.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0149-DEBUG-slab-debugging.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0149-DEBUG-slab-debugging.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 14cf6c8d74980f79a335f8283c0723cefa8dad5c Mon Sep 17 00:00:00 2001
+From 43b91e616633248e55ed6d24181407d619de9cc1 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Fri, 8 Feb 2008 16:37:16 -0200
 Subject: [PATCH] DEBUG: slab debugging

linux-2.6-xen-0150-pvops-64-Include-rsi-on-the-register-clobber-list.patch:

Index: linux-2.6-xen-0150-pvops-64-Include-rsi-on-the-register-clobber-list.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0150-pvops-64-Include-rsi-on-the-register-clobber-list.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0150-pvops-64-Include-rsi-on-the-register-clobber-list.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0150-pvops-64-Include-rsi-on-the-register-clobber-list.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 407b6f84786b352c1d5ba8afb7d253dd8387b293 Mon Sep 17 00:00:00 2001
+From 8309631d6ec943012101f4c780090679a3287816 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 20 Feb 2008 19:03:55 -0300
 Subject: [PATCH] pvops-64: Include %rsi on the register clobber list for IRQ functions (REVIEWME)

linux-2.6-xen-0151-Xen-64-quick-ugly-hack-to-fix-pgd_clear-pagetabl.patch:

Index: linux-2.6-xen-0151-Xen-64-quick-ugly-hack-to-fix-pgd_clear-pagetabl.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0151-Xen-64-quick-ugly-hack-to-fix-pgd_clear-pagetabl.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0151-Xen-64-quick-ugly-hack-to-fix-pgd_clear-pagetabl.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0151-Xen-64-quick-ugly-hack-to-fix-pgd_clear-pagetabl.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 5ac4a7356297541253ec8533cec3df8ccdedbfa3 Mon Sep 17 00:00:00 2001
+From 86aee6a2b4090fc20e16039d20d22102c1c7a573 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Wed, 20 Feb 2008 19:04:43 -0300
 Subject: [PATCH] Xen-64: quick, ugly hack to fix pgd_clear() pagetable unpinning (FIXME)

linux-2.6-xen-0152-Add-missing-acpi-include-to-xen-setup.c.patch:

Index: linux-2.6-xen-0152-Add-missing-acpi-include-to-xen-setup.c.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0152-Add-missing-acpi-include-to-xen-setup.c.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0152-Add-missing-acpi-include-to-xen-setup.c.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0152-Add-missing-acpi-include-to-xen-setup.c.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From a44ba4f7dfa279fdb179ff2205ca1046fdeecf51 Mon Sep 17 00:00:00 2001
+From e615ce314fa3f8f7b1e60dcda6490f30a88bb421 Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Tue, 4 Mar 2008 16:59:21 -0300
 Subject: [PATCH] Add missing acpi #include to xen/setup.c

linux-2.6-xen-0153-Don-t-use-FIX_VDSO-on-64-bit.patch:

Index: linux-2.6-xen-0153-Don-t-use-FIX_VDSO-on-64-bit.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0153-Don-t-use-FIX_VDSO-on-64-bit.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0153-Don-t-use-FIX_VDSO-on-64-bit.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0153-Don-t-use-FIX_VDSO-on-64-bit.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 8ccd2d686eab3bdb401e13fd65371f027b44dc97 Mon Sep 17 00:00:00 2001
+From 1afaa2b5dddc3c08af24c9826bc63905c492802b Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Mon, 3 Mar 2008 14:46:56 -0300
 Subject: [PATCH] Don't use FIX_VDSO on 64-bit
@@ -9,10 +9,10 @@
  1 files changed, 2 insertions(+), 0 deletions(-)
 
 diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
-index c100ad6..feb58bf 100644
+index 7efbd5e..f7d84f7 100644
 --- a/arch/x86/xen/enlighten.c
 +++ b/arch/x86/xen/enlighten.c
-@@ -1137,7 +1137,9 @@ static void xen_set_fixmap(unsigned idx, unsigned long phys, pgprot_t prot)
+@@ -1106,7 +1106,9 @@ static void xen_set_fixmap(unsigned idx, unsigned long phys, pgprot_t prot)
  	case FIX_F00F_IDT:
  #endif
  	case FIX_WP_TEST:

linux-2.6-xen-0154-Mark-init-pages-read-write-again-on-free_init_pages.patch:

Index: linux-2.6-xen-0154-Mark-init-pages-read-write-again-on-free_init_pages.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0154-Mark-init-pages-read-write-again-on-free_init_pages.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0154-Mark-init-pages-read-write-again-on-free_init_pages.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0154-Mark-init-pages-read-write-again-on-free_init_pages.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From 6cef3aa6c9ca4fc024175094bbc5230bedfbd6c1 Mon Sep 17 00:00:00 2001
+From bb6b67f0aee9c4b08a50c91be5b8232275de53bf Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Thu, 3 Apr 2008 19:09:09 -0300
 Subject: [PATCH] Mark init pages read-write again on free_init_pages()

linux-2.6-xen-0155-reserve_early-kernel-text-and-data-segments.patch:

Index: linux-2.6-xen-0155-reserve_early-kernel-text-and-data-segments.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel-xen-2.6/devel/linux-2.6-xen-0155-reserve_early-kernel-text-and-data-segments.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-xen-0155-reserve_early-kernel-text-and-data-segments.patch	14 Apr 2008 16:06:53 -0000	1.1
+++ linux-2.6-xen-0155-reserve_early-kernel-text-and-data-segments.patch	14 Apr 2008 16:50:37 -0000	1.2
@@ -1,4 +1,4 @@
-From bf795bede43d3db0489508826b2ba5a53302fecf Mon Sep 17 00:00:00 2001
+From f0d1aeadcde4eae1cb85ca7f88142d67d1b7ab4e Mon Sep 17 00:00:00 2001
 From: Eduardo Habkost <ehabkost at redhat.com>
 Date: Thu, 3 Apr 2008 19:10:10 -0300
 Subject: [PATCH] reserve_early() kernel text and data segments
@@ -11,7 +11,7 @@
  1 files changed, 3 insertions(+), 0 deletions(-)
 
 diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
-index feb58bf..4cf75d5 100644
+index f7d84f7..0a2ace7 100644
 --- a/arch/x86/xen/enlighten.c
 +++ b/arch/x86/xen/enlighten.c
 @@ -48,6 +48,7 @@
@@ -22,7 +22,7 @@
  
  #include "xen-ops.h"
  #include "mmu.h"
-@@ -1476,6 +1477,8 @@ asmlinkage void __init xen_start_kernel(void)
+@@ -1445,6 +1446,8 @@ asmlinkage void __init xen_start_kernel(void)
  	   possible map and a non-dummy shared_info. */
  	per_cpu(xen_vcpu, 0) = &HYPERVISOR_shared_info->vcpu_info[0];
  


--- linux-2.6-xen-0016-xen-debug-Add-xprintk-to-log-directly-via-hypercall.patch DELETED ---


--- linux-2.6-xen-0017-xen-x86_64-Add-64-bit-version-of-privcmd_hypercall.patch DELETED ---


--- linux-2.6-xen-0018-xen-x86_64-Only-define-load_user_cs_desc-on-32-bi.patch DELETED ---


--- linux-2.6-xen-0019-xen-expose-set_pte_vaddr-and-make-xen-use-it.patch DELETED ---


--- linux-2.6-xen-0020-xen-dom0-Add-set_fixmap-pv_mmu_ops.patch DELETED ---


--- linux-2.6-xen-0021-x86_64-Expose-set_pte_vaddr.patch DELETED ---


--- linux-2.6-xen-0022-x86_64-Split-set_pte_vaddr.patch DELETED ---


--- linux-2.6-xen-0023-x86_64-Add-clear_fixmap.patch DELETED ---


--- linux-2.6-xen-0024-xen-x86_64-Make-set_fixmap-a-paravirt-op-on-64-bi.patch DELETED ---


--- linux-2.6-xen-0025-xen-x86_64-Hack-to-set-vsyscall-pages-on-user-space.patch DELETED ---


--- linux-2.6-xen-0026-Handle-VSYSCALL_FIRST_PAGE-on-xen_set_pte.patch DELETED ---


--- linux-2.6-xen-0027-DMI-Define-dmi_scan_machine-as-no-op-if-CONFIG_DM.patch DELETED ---


--- linux-2.6-xen-0028-ACPI-thermal-Compile-without-CONFIG_DMI.patch DELETED ---


--- linux-2.6-xen-0029-xen-x86_64-Remove-the-640K-1M-hole-and-disable-DMI.patch DELETED ---


--- linux-2.6-xen-0030-xen-x86_64-Add-update_va_mapping-64-bit-code.patch DELETED ---


--- linux-2.6-xen-0031-x86_64-Add-sync_cmpxchg.patch DELETED ---


--- linux-2.6-xen-0032-xen-x86_64-Implement-HYPERVISOR-MULTI-_update_desc.patch DELETED ---


--- linux-2.6-xen-0033-xen-x86_64-Add-hacky-64-bit-x86_-read-write-_percpu.patch DELETED ---


--- linux-2.6-xen-0034-xen-x86_64-Use-x86_read_percpu-only-to-refer-to-a.patch DELETED ---


--- linux-2.6-xen-0035-Better-implementation-of-pte-functions.patch DELETED ---


--- linux-2.6-xen-0036-Add-FIX_PARAVIRT_BOOTAP-to-fixmap_64.h-too.patch DELETED ---


--- linux-2.6-xen-0037-Add-gate_offset-and-gate_segment-macros.patch DELETED ---


--- linux-2.6-xen-0038-xen_write_idt_entry-and-cvt_gate_to_trap.patch DELETED ---


--- linux-2.6-xen-0039-typedefs-for-pte_val-and-friends.patch DELETED ---


--- linux-2.6-xen-0040-x86_64-implementation-of-some-page.h-macros.patch DELETED ---


--- linux-2.6-xen-0041-Chainsaw-style-ifdefs.patch DELETED ---


--- linux-2.6-xen-0042-xen-Make-xen_pte_val-generic.patch DELETED ---


--- linux-2.6-xen-0043-More-chainsaw-ifdefs.patch DELETED ---


--- linux-2.6-xen-0044-Chainsaw-ifdefs-on-assembly-percpu-handling.patch DELETED ---


--- linux-2.6-xen-0045-x86_64-percpu-assembly-macros.patch DELETED ---


--- linux-2.6-xen-0046-Some-xen-asm.S-x86_64-code.patch DELETED ---


--- linux-2.6-xen-0047-Chainsaw-party-SPLITME.patch DELETED ---


--- linux-2.6-xen-0048-xen-asm.S-x86_64-notes.patch DELETED ---


--- linux-2.6-xen-0049-xen-x86_64-Make-hypercall-assembly-code-work.patch DELETED ---


--- linux-2.6-xen-0050-xen-x86_64-pda-initialization.patch DELETED ---


--- linux-2.6-xen-0051-Disable-discover_ebda-under-paravirt.patch DELETED ---


--- linux-2.6-xen-0052-Disable-early_printk-by-default.patch DELETED ---


--- linux-2.6-xen-0053-xen-Set-__HYPERVISOR_VIRT_START-for-x86_64.patch DELETED ---


--- linux-2.6-xen-0054-Set-__PAGE_OFFSET-as-required-by-Xen.patch DELETED ---


--- linux-2.6-xen-0055-DEBUG-Add-xprintk-to-log-directly-via-hypercall-fo.patch DELETED ---




More information about the fedora-extras-commits mailing list