Skip to content
Navigation Menu
Toggle navigation
Sign in
In this repository
All GitHub Enterprise
↵
Jump to
↵
No suggested jump to results
In this repository
All GitHub Enterprise
↵
Jump to
↵
In this organization
All GitHub Enterprise
↵
Jump to
↵
In this repository
All GitHub Enterprise
↵
Jump to
↵
Sign in
Reseting focus
You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
Dismiss alert
{{ message }}
mariux64
/
linux
Public
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Issues
1
Pull requests
0
Actions
Projects
0
Wiki
Security
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Wiki
Security
Insights
Files
7a5324f
Documentation
arch
alpha
arm
arm64
avr32
blackfin
c6x
cris
frv
h8300
hexagon
ia64
m32r
m68k
microblaze
mips
mn10300
openrisc
parisc
powerpc
s390
appldata
boot
crypto
hypfs
include
asm
Kbuild
airq.h
appldata.h
asm-offsets.h
atomic.h
barrier.h
bitops.h
bug.h
bugs.h
cache.h
cacheflush.h
ccwdev.h
ccwgroup.h
checksum.h
chpid.h
cio.h
clp.h
cmb.h
cmpxchg.h
compat.h
cpcmd.h
cpu.h
cpu_mf.h
cputime.h
crw.h
css_chars.h
ctl_reg.h
current.h
debug.h
delay.h
device.h
diag.h
div64.h
dma-mapping.h
dma.h
eadm.h
ebcdic.h
elf.h
emergency-restart.h
etr.h
exec.h
extmem.h
facility.h
fb.h
fcx.h
ftrace.h
futex.h
hardirq.h
hugetlb.h
hw_irq.h
idals.h
io.h
ipl.h
irq.h
irq_regs.h
irqflags.h
isc.h
itcw.h
jump_label.h
kdebug.h
kexec.h
kmap_types.h
kprobes.h
kvm_host.h
kvm_para.h
linkage.h
local.h
local64.h
lowcore.h
mathemu.h
mman.h
mmu.h
mmu_context.h
module.h
mutex.h
nmi.h
os_info.h
page.h
pci.h
pci_clp.h
pci_debug.h
pci_dma.h
pci_insn.h
pci_io.h
percpu.h
perf_event.h
pgalloc.h
pgtable.h
processor.h
ptrace.h
qdio.h
reset.h
runtime_instr.h
rwsem.h
scatterlist.h
schid.h
sclp.h
scsw.h
seccomp.h
sections.h
segment.h
setup.h
sfp-machine.h
sfp-util.h
shmparam.h
signal.h
sigp.h
smp.h
sparsemem.h
spinlock.h
spinlock_types.h
string.h
switch_to.h
syscall.h
sysinfo.h
termios.h
thread_info.h
timex.h
tlb.h
tlbflush.h
topology.h
types.h
uaccess.h
unaligned.h
unistd.h
user.h
vdso.h
vga.h
vtimer.h
xor.h
uapi
kernel
kvm
lib
math-emu
mm
net
oprofile
pci
Kbuild
Kconfig
Kconfig.debug
Makefile
defconfig
score
sh
sparc
tile
um
unicore32
x86
xtensa
.gitignore
Kconfig
block
crypto
drivers
firmware
fs
include
init
ipc
kernel
lib
mm
net
samples
scripts
security
sound
tools
usr
virt
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile
README
REPORTING-BUGS
Breadcrumbs
linux
/
arch
/
s390
/
include
/
asm
/
io.h
Copy path
Blame
Blame
Latest commit
History
History
93 lines (75 loc) · 2.21 KB
Breadcrumbs
linux
/
arch
/
s390
/
include
/
asm
/
io.h
Top
File metadata and controls
Code
Blame
93 lines (75 loc) · 2.21 KB
Raw
/* * S390 version * Copyright IBM Corp. 1999 * Author(s): Martin Schwidefsky (schwidefsky@de.ibm.com) * * Derived from "include/asm-i386/io.h" */ #ifndef _S390_IO_H #define _S390_IO_H #include <linux/kernel.h> #include <asm/page.h> #include <asm/pci_io.h> /* * Change virtual addresses to physical addresses and vv. * These are pretty trivial */ static inline unsigned long virt_to_phys(volatile void * address) { unsigned long real_address; asm volatile( " lra %0,0(%1)\n" " jz 0f\n" " la %0,0\n" "0:" : "=a" (real_address) : "a" (address) : "cc"); return real_address; } #define virt_to_phys virt_to_phys static inline void * phys_to_virt(unsigned long address) { return (void *) address; } void *xlate_dev_mem_ptr(unsigned long phys); void unxlate_dev_mem_ptr(unsigned long phys, void *addr); /* * Convert a virtual cached pointer to an uncached pointer */ #define xlate_dev_kmem_ptr(p) p #define IO_SPACE_LIMIT 0 #ifdef CONFIG_PCI #define ioremap_nocache(addr, size) ioremap(addr, size) #define ioremap_wc ioremap_nocache static inline void __iomem *ioremap(unsigned long offset, unsigned long size) { return (void __iomem *) offset; } static inline void iounmap(volatile void __iomem *addr) { } /* * s390 needs a private implementation of pci_iomap since ioremap with its * offset parameter isn't sufficient. That's because BAR spaces are not * disjunctive on s390 so we need the bar parameter of pci_iomap to find * the corresponding device and create the mapping cookie. */ #define pci_iomap pci_iomap #define pci_iounmap pci_iounmap #define memcpy_fromio(dst, src, count) zpci_memcpy_fromio(dst, src, count) #define memcpy_toio(dst, src, count) zpci_memcpy_toio(dst, src, count) #define memset_io(dst, val, count) zpci_memset_io(dst, val, count) #define __raw_readb zpci_read_u8 #define __raw_readw zpci_read_u16 #define __raw_readl zpci_read_u32 #define __raw_readq zpci_read_u64 #define __raw_writeb zpci_write_u8 #define __raw_writew zpci_write_u16 #define __raw_writel zpci_write_u32 #define __raw_writeq zpci_write_u64 #define readb_relaxed readb #define readw_relaxed readw #define readl_relaxed readl #define readq_relaxed readq #endif /* CONFIG_PCI */ #include <asm-generic/io.h> #endif
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
You can’t perform that action at this time.