[SPARC64]: More SUN4V PCI controller work.
[deliverable/linux.git] / arch / sparc64 / kernel / pci_sun4v_asm.S
CommitLineData
bade5622
DM
1/* pci_sun4v_asm: Hypervisor calls for PCI support.
2 *
3 * Copyright (C) 2006 David S. Miller <davem@davemloft.net>
4 */
5
6#include <asm/hypervisor.h>
7
8 /* %o0: devhandle
9 * %o1: devino
10 *
11 * returns %o0: sysino
12 */
13 .globl pci_sun4v_devino_to_sysino
14pci_sun4v_devino_to_sysino:
15 mov %o1, %o2
16 mov %o0, %o1
17 mov HV_FAST_INTR_DEVINO2SYSINO, %o0
18 ta HV_FAST_TRAP
19 retl
20 mov %o1, %o0
21
22 /* %o0: devhandle
23 * %o1: tsbid
24 * %o2: num ttes
25 * %o3: io_attributes
26 * %o4: io_page_list phys address
27 *
28 * returns %o0: num ttes mapped
29 */
30 .globl pci_sun4v_iommu_map
31pci_sun4v_iommu_map:
32 mov %o4, %o5
33 mov %o3, %o4
34 mov %o2, %o3
35 mov %o1, %o2
36 mov %o0, %o1
37 mov HV_FAST_PCI_IOMMU_MAP, %o0
38 ta HV_FAST_TRAP
39 retl
40 mov %o1, %o0
41
42 /* %o0: devhandle
43 * %o1: tsbid
44 * %o2: num ttes
45 *
46 * returns %o0: num ttes demapped
47 */
48 .globl pci_sun4v_iommu_demap
49pci_sun4v_iommu_demap:
50 mov %o2, %o3
51 mov %o1, %o2
52 mov %o0, %o1
53 mov HV_FAST_PCI_IOMMU_DEMAP, %o0
54 ta HV_FAST_TRAP
55 retl
56 mov %o1, %o0
This page took 0.043798 seconds and 5 git commands to generate.