• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ****************************************************************************
11  ****************************************************************************/
12 #ifndef _ASM_SH_MACHVEC_H
13 #define _ASM_SH_MACHVEC_H
14 
15 #include <linux/types.h>
16 #include <linux/time.h>
17 #include <asm/machtypes.h>
18 
19 struct device;
20 
21 struct sh_machine_vector {
22  void (*mv_setup)(char **cmdline_p);
23  const char *mv_name;
24  int mv_nr_irqs;
25 
26  u8 (*mv_inb)(unsigned long);
27  u16 (*mv_inw)(unsigned long);
28  u32 (*mv_inl)(unsigned long);
29  void (*mv_outb)(u8, unsigned long);
30  void (*mv_outw)(u16, unsigned long);
31  void (*mv_outl)(u32, unsigned long);
32 
33  u8 (*mv_inb_p)(unsigned long);
34  u16 (*mv_inw_p)(unsigned long);
35  u32 (*mv_inl_p)(unsigned long);
36  void (*mv_outb_p)(u8, unsigned long);
37  void (*mv_outw_p)(u16, unsigned long);
38  void (*mv_outl_p)(u32, unsigned long);
39 
40  void (*mv_insb)(unsigned long, void *dst, unsigned long count);
41  void (*mv_insw)(unsigned long, void *dst, unsigned long count);
42  void (*mv_insl)(unsigned long, void *dst, unsigned long count);
43  void (*mv_outsb)(unsigned long, const void *src, unsigned long count);
44  void (*mv_outsw)(unsigned long, const void *src, unsigned long count);
45  void (*mv_outsl)(unsigned long, const void *src, unsigned long count);
46 
47  u8 (*mv_readb)(void __iomem *);
48  u16 (*mv_readw)(void __iomem *);
49  u32 (*mv_readl)(void __iomem *);
50  void (*mv_writeb)(u8, void __iomem *);
51  void (*mv_writew)(u16, void __iomem *);
52  void (*mv_writel)(u32, void __iomem *);
53 
54  int (*mv_irq_demux)(int irq);
55 
56  void (*mv_init_irq)(void);
57  void (*mv_init_pci)(void);
58 
59  void (*mv_heartbeat)(void);
60 
61  void __iomem *(*mv_ioport_map)(unsigned long port, unsigned int size);
62  void (*mv_ioport_unmap)(void __iomem *);
63 };
64 
65 #define get_system_type() sh_mv.mv_name
66 
67 #define __initmv   __used __section(.machvec.init)
68 
69 #endif
70