~ubuntu-branches/ubuntu/raring/linux-ti-omap4/raring-proposed

« back to all changes in this revision

Viewing changes to arch/x86/xen/p2m.c

  • Committer: Package Import Robot
  • Author(s): Tim Gardner, Tim Gardner, Andy Whitcroft, James M Leddy, Paolo Pisati, Stefan Bader, Upstream Kernel Changes, Wen-chien Jesse Sung, David Henningsson, Leann Ogasawara, Rob Herring, git at e4ward
  • Date: 2012-10-09 15:40:14 UTC
  • Revision ID: package-import@ubuntu.com-20121009154014-iktauc26lb0l5alw
Tags: 3.5.0-213.20
[ Tim Gardner ]

* rebased on Ubuntu-3.5.0-17.28

[ Andy Whitcroft ]

* [packaging] we already have a valid src_pkg_name
* [packaging] allow us to select which builds have uefi signed versions

[ James M Leddy ]

* SAUCE: input: fix weird issue of synaptics psmouse sync lost after
  resume
  - LP: #717970

[ Paolo Pisati ]

* SAUCE: omap3 clocks .dev_id = NULL
  - LP: #1061599
* [Config] omap: disable USB_[EHCI|OHCI]_HCD_PLATFORM
  - LP: #1061599
* [Config] omap: enforce USB_[EHCI|OHCI]_HCD_PLATFORM=n
  - LP: #1061599

[ Stefan Bader ]

* SAUCE: net/ipv4: Always flush route cache on unregister batch call
  - LP: #1021471

[ Upstream Kernel Changes ]

* Bluetooth: Add USB_VENDOR_AND_INTERFACE_INFO() for Broadcom/Foxconn
  - LP: #1030233

[ Wen-chien Jesse Sung ]

* SAUCE: Bluetooth: Remove rules for matching Broadcom vendor specific
  IDs
  - LP: #1030233

[ Andy Whitcroft ]

* [packaging] add custom upload for the kernel binary package

[ David Henningsson ]

* SAUCE: ALSA: hda - fix indices on boost volume on Conexant
  - LP: #1059523

[ Leann Ogasawara ]

* [Config] Build in CONFIG_X86_PCC_CPUFREQ=y
  - LP: #1061126

[ Rob Herring ]

* Revert "SAUCE: ahci_platform: add custom hard reset for Calxeda ahci
  ctrlr"
  - LP: #1059432
* Revert "SAUCE: net: calxedaxgmac: add write barriers around setting
  owner bit"
  - LP: #1059432
* Revert "SAUCE: ARM: highbank: use writel_relaxed variant for pwr
  requests"
  - LP: #1059432
* Revert "SAUCE: force DMA buffers to non-bufferable on highbank"
  - LP: #1059432
* Revert "SAUCE: input: add a key driver for highbank"
  - LP: #1059432
* [Config] Align highbank config with amd64-generic and add new configs
  - LP: #1059432
* SAUCE: net: calxedaxgmac: enable operate on 2nd frame mode
  - LP: #1059432
* SAUCE: net: calxedaxgmac: remove explicit rx dma buffer polling
  - LP: #1059432
* SAUCE: net: calxedaxgmac: use relaxed i/o accessors in rx and tx paths
  - LP: #1059432
* SAUCE: net: calxedaxgmac: drop some unnecessary register writes
  - LP: #1059432
* SAUCE: net: calxedaxgmac: rework transmit ring handling
  - LP: #1059432
* SAUCE: ARM: highbank: retry wfi on reset request
  - LP: #1059432

[ Tim Gardner ]

* [Config] TIDSPBRIDGE=m
  - LP: #1058022
* rebase to v3.5.5

[ Upstream Kernel Changes ]

* common: DMA-mapping: add DMA_ATTR_NO_KERNEL_MAPPING attribute
  - LP: #1059432
* common: DMA-mapping: add DMA_ATTR_SKIP_CPU_SYNC attribute
  - LP: #1059432
* ARM: dma-mapping: add support for DMA_ATTR_SKIP_CPU_SYNC attribute
  - LP: #1059432
* ARM: add coherent dma ops
  - LP: #1059432
* ARM: add coherent iommu dma ops
  - LP: #1059432
* ARM: highbank: add coherent DMA setup
  - LP: #1059432
* sata: add platform driver for Calxeda AHCI controller
  - LP: #1059432
* xhci: Rate-limit XHCI_TRUST_TX_LENGTH quirk warning.
  - LP: #1039478
* agp/intel-gtt: remove dead code
  - LP: #1011440
* drm/i915: stop using dev->agp->base
  - LP: #1011440
* agp/intel-gtt: don't require the agp bridge on setup
  - LP: #1011440
* drm/i915 + agp/intel-gtt: prep work for direct setup
  - LP: #1011440
* agp/intel-gtt: move gart base addres setup
  - LP: #1011440
* drm/i915: don't use dev->agp
  - LP: #1011440
* drm/i915: disable drm agp support for !gen3 with kms enabled
  - LP: #1011440
* agp/intel-agp: remove snb+ host bridge pciids
  - LP: #1011440
* rebase to v3.5.5
  - LP: #1000424

[ git@status.e4ward.com ]

* SAUCE: input: Cypress PS/2 Trackpad fix multi-source, double-click
  - LP: #1055788

[ Tim Gardner ]

* [Config] revert '[Config] enable CONFIG_X86_X32=y'
  - LP: #1041883

[ Upstream Kernel Changes ]

* vmwgfx: corruption in vmw_event_fence_action_create()
* drm/nvd0/disp: hopefully fix selection of 6/8bpc mode on DP outputs
  - LP: #1058088
* drm/nv50-/gpio: initialise to vbios defaults during init
  - LP: #1058088
* igb: A fix to VF TX rate limit
  - LP: #1058188
* igb: Add switch case for supported hardware to igb_ptp_remove.
  - LP: #1058188
* igb: Support the get_ts_info ethtool method.
  - LP: #1058188
* igb: Streamline RSS queue and queue pairing assignment logic.
  - LP: #1058188
* igb: Update firmware info output
  - LP: #1058188
* igb: Version bump
  - LP: #1058188
* igb: reset PHY in the link_up process to recover PHY setting after
  power down.
  - LP: #1058188
* igb: Fix for failure to init on some 82576 devices.
  - LP: #1058188
* igb: correct hardware type (i210/i211) check in igb_loopback_test()
  - LP: #1058188
* igb: don't break user visible strings over multiple lines in
  igb_ethtool.c
  - LP: #1058188
* igb: add delay to allow igb loopback test to succeed on 8086:10c9
  - LP: #1058188
* igb: fix panic while dumping packets on Tx hang with IOMMU
  - LP: #1058188
* igb: Fix register defines for all non-82575 hardware
  - LP: #1058188
* e1000e: use more informative logging macros when netdev not yet
  registered
  - LP: #1058219
* e1000e: Cleanup code logic in e1000_check_for_serdes_link_82571()
  - LP: #1058219
* e1000e: Program the correct register for ITR when using MSI-X.
  - LP: #1058219
* e1000e: advertise transmit time stamping
  - LP: #1058219
* e1000e: 82571 Tx Data Corruption during Tx hang recovery
  - LP: #1058219
* e1000e: fix panic while dumping packets on Tx hang with IOMMU
  - LP: #1058219
* e1000: Combining Bitwise OR in one expression.
  - LP: #1058221
* e1000: advertise transmit time stamping
  - LP: #1058221
* e1000: Small packets may get corrupted during padding by HW
  - LP: #1058221
* sched: Fix migration thread runtime bogosity
  - LP: #1057593
* ACER: Add support for accelerometer sensor
  - LP: #1055433
* ACER: Fix Smatch double-free issue
  - LP: #1055433

[ Wen-chien Jesse Sung ]

* SAUCE: HID: ntrig: change default value of logical/physical
  width/height to 1
  - LP: #1044248

Show diffs side-by-side

added added

removed removed

Lines of Context:
828
828
 
829
829
                        xen_mc_issue(PARAVIRT_LAZY_MMU);
830
830
                }
831
 
                /* let's use dev_bus_addr to record the old mfn instead */
832
 
                kmap_op->dev_bus_addr = page->index;
833
 
                page->index = (unsigned long) kmap_op;
834
831
        }
835
832
        spin_lock_irqsave(&m2p_override_lock, flags);
836
833
        list_add(&page->lru,  &m2p_overrides[mfn_hash(mfn)]);
857
854
        return 0;
858
855
}
859
856
EXPORT_SYMBOL_GPL(m2p_add_override);
860
 
int m2p_remove_override(struct page *page, bool clear_pte)
 
857
int m2p_remove_override(struct page *page,
 
858
                struct gnttab_map_grant_ref *kmap_op)
861
859
{
862
860
        unsigned long flags;
863
861
        unsigned long mfn;
887
885
        WARN_ON(!PagePrivate(page));
888
886
        ClearPagePrivate(page);
889
887
 
890
 
        if (clear_pte) {
891
 
                struct gnttab_map_grant_ref *map_op =
892
 
                        (struct gnttab_map_grant_ref *) page->index;
893
 
                set_phys_to_machine(pfn, map_op->dev_bus_addr);
 
888
        set_phys_to_machine(pfn, page->index);
 
889
        if (kmap_op != NULL) {
894
890
                if (!PageHighMem(page)) {
895
891
                        struct multicall_space mcs;
896
892
                        struct gnttab_unmap_grant_ref *unmap_op;
902
898
                         * issued. In this case handle is going to -1 because
903
899
                         * it hasn't been modified yet.
904
900
                         */
905
 
                        if (map_op->handle == -1)
 
901
                        if (kmap_op->handle == -1)
906
902
                                xen_mc_flush();
907
903
                        /*
908
 
                         * Now if map_op->handle is negative it means that the
 
904
                         * Now if kmap_op->handle is negative it means that the
909
905
                         * hypercall actually returned an error.
910
906
                         */
911
 
                        if (map_op->handle == GNTST_general_error) {
 
907
                        if (kmap_op->handle == GNTST_general_error) {
912
908
                                printk(KERN_WARNING "m2p_remove_override: "
913
909
                                                "pfn %lx mfn %lx, failed to modify kernel mappings",
914
910
                                                pfn, mfn);
918
914
                        mcs = xen_mc_entry(
919
915
                                        sizeof(struct gnttab_unmap_grant_ref));
920
916
                        unmap_op = mcs.args;
921
 
                        unmap_op->host_addr = map_op->host_addr;
922
 
                        unmap_op->handle = map_op->handle;
 
917
                        unmap_op->host_addr = kmap_op->host_addr;
 
918
                        unmap_op->handle = kmap_op->handle;
923
919
                        unmap_op->dev_bus_addr = 0;
924
920
 
925
921
                        MULTI_grant_table_op(mcs.mc,
930
926
                        set_pte_at(&init_mm, address, ptep,
931
927
                                        pfn_pte(pfn, PAGE_KERNEL));
932
928
                        __flush_tlb_single(address);
933
 
                        map_op->host_addr = 0;
 
929
                        kmap_op->host_addr = 0;
934
930
                }
935
 
        } else
936
 
                set_phys_to_machine(pfn, page->index);
 
931
        }
937
932
 
938
933
        /* p2m(m2p(mfn)) == FOREIGN_FRAME(mfn): the mfn is already present
939
934
         * somewhere in this domain, even before being added to the