Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
drivers
xen
dbgp.c
Go to the documentation of this file.
1
#include <linux/pci.h>
2
#include <
linux/usb.h
>
3
#include <
linux/usb/ehci_def.h
>
4
#include <
linux/usb/hcd.h
>
5
#include <asm/xen/hypercall.h>
6
#include <
xen/interface/physdev.h
>
7
#include <
xen/xen.h
>
8
9
static
int
xen_dbgp_op(
struct
usb_hcd *hcd,
int
op
)
10
{
11
#ifdef CONFIG_PCI
12
const
struct
device
*ctrlr = hcd_to_bus(hcd)->controller;
13
#endif
14
struct
physdev_dbgp_op
dbgp;
15
16
if
(!
xen_initial_domain
())
17
return
0;
18
19
dbgp.
op
=
op
;
20
21
#ifdef CONFIG_PCI
22
if
(ctrlr->
bus
== &
pci_bus_type
) {
23
const
struct
pci_dev
*
pdev
=
to_pci_dev
(ctrlr);
24
25
dbgp.u.pci.seg =
pci_domain_nr
(pdev->
bus
);
26
dbgp.u.pci.bus = pdev->
bus
->number;
27
dbgp.u.pci.devfn = pdev->
devfn
;
28
dbgp.bus =
PHYSDEVOP_DBGP_BUS_PCI
;
29
}
else
30
#endif
31
dbgp.bus =
PHYSDEVOP_DBGP_BUS_UNKNOWN
;
32
33
return
HYPERVISOR_physdev_op
(
PHYSDEVOP_dbgp_op
, &dbgp);
34
}
35
36
int
xen_dbgp_reset_prep
(
struct
usb_hcd *hcd)
37
{
38
return
xen_dbgp_op(hcd,
PHYSDEVOP_DBGP_RESET_PREPARE
);
39
}
40
41
int
xen_dbgp_external_startup
(
struct
usb_hcd *hcd)
42
{
43
return
xen_dbgp_op(hcd,
PHYSDEVOP_DBGP_RESET_DONE
);
44
}
45
46
#ifndef CONFIG_EARLY_PRINTK_DBGP
47
#include <linux/export.h>
48
EXPORT_SYMBOL_GPL
(
xen_dbgp_reset_prep
);
49
EXPORT_SYMBOL_GPL
(
xen_dbgp_external_startup
);
50
#endif
Generated on Thu Jan 10 2013 14:36:05 for Linux Kernel by
1.8.2