OXIESEC PANEL
- Current Dir:
/
/
usr
/
src
/
linux-headers-4.15.0-197
/
arch
/
sparc
/
include
/
asm
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
11/17/2022 06:42:16 AM
rwxr-xr-x
📄
Kbuild
491 bytes
11/01/2022 04:52:05 PM
rw-r--r--
📄
agp.h
434 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
apb.h
1.06 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
asm-offsets.h
35 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
asm-prototypes.h
727 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
asm.h
1.08 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
asmmacro.h
1.16 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
atomic.h
219 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
atomic_32.h
2.26 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
atomic_64.h
3.34 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
auxio.h
310 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
auxio_32.h
2.55 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
auxio_64.h
3.18 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
backoff.h
2.7 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
barrier.h
223 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
barrier_32.h
160 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
barrier_64.h
1.96 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
bbc.h
9.76 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
bitext.h
631 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
bitops.h
219 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
bitops_32.h
2.79 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
bitops_64.h
1.64 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
btext.h
145 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
bug.h
588 bytes
11/01/2022 04:52:05 PM
rw-r--r--
📄
bugs.h
404 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
cache.h
649 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
cacheflush.h
373 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
cacheflush_32.h
1.97 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
cacheflush_64.h
2.56 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
cachetlb_32.h
882 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
chafsr.h
9.48 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
checksum.h
227 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
checksum_32.h
6.81 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
checksum_64.h
4.4 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
chmctrl.h
7.91 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
clock.h
231 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
clocksource.h
407 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
cmpxchg.h
223 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
cmpxchg_32.h
2.4 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
cmpxchg_64.h
5.13 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
compat.h
6.45 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
compat_signal.h
565 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
contregs.h
1.9 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
cpu_type.h
579 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
cpudata.h
378 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
cpudata_32.h
729 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
cpudata_64.h
1.13 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
current.h
991 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
dcr.h
728 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
dcu.h
1.48 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
delay.h
215 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
delay_32.h
907 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
delay_64.h
403 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
device.h
565 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
dma-mapping.h
632 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
dma.h
6.6 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
ebus_dma.h
1.07 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
ecc.h
4.34 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
eeprom.h
254 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
elf.h
207 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
elf_32.h
3.19 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
elf_64.h
6.47 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
estate.h
2.23 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
extable_64.h
727 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
fb.h
680 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
fbio.h
2.26 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
fhc.h
4.43 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
floppy.h
219 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
floppy_32.h
9.74 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
floppy_64.h
18.83 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
fpumacro.h
710 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
ftrace.h
800 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
futex.h
215 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
futex_32.h
82 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
futex_64.h
2.15 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
hardirq.h
223 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
hardirq_32.h
334 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
hardirq_64.h
417 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
head.h
211 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
head_32.h
2.56 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
head_64.h
2.13 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
hibernate.h
421 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
highmem.h
2.02 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
hugetlb.h
2.09 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
hvtramp.h
782 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
hw_irq.h
88 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
hypervisor.h
110.71 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
ide.h
2.19 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
idprom.h
656 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
intr_queue.h
794 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
io-unit.h
2.41 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
io.h
620 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
io_32.h
3.51 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
io_64.h
10.66 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
ioctls.h
358 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
iommu.h
215 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
iommu_32.h
5.73 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
iommu_64.h
2.43 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
irq.h
207 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
irq_32.h
526 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
irq_64.h
3.06 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
irqflags.h
227 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
irqflags_32.h
1.03 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
irqflags_64.h
1.91 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
jump_label.h
1.01 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
kdebug.h
219 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
kdebug_32.h
1.99 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
kdebug_64.h
393 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
kgdb.h
1014 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
kmap_types.h
233 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
kprobes.h
1.41 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
ldc.h
4.37 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
leon.h
7.37 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
leon_amba.h
8.09 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
leon_pci.h
512 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
lsu.h
1.04 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
machines.h
1.5 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
mbus.h
2.93 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
mc146818rtc.h
298 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
mc146818rtc_32.h
699 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
mc146818rtc_64.h
689 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
mdesc.h
2.99 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
memctrl.h
311 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
mman.h
304 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
mmu.h
207 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
mmu_32.h
209 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
mmu_64.h
3.14 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
mmu_context.h
239 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
mmu_context_32.h
1.07 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
mmu_context_64.h
4.15 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
mmzone.h
393 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
msi.h
774 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
mxcc.h
4.33 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
nmi.h
354 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
ns87303.h
3.22 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
obio.h
6.26 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
openprom.h
7.3 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
oplib.h
215 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
oplib_32.h
5.92 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
oplib_64.h
8.12 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
page.h
274 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
page_32.h
3.91 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
page_64.h
4.49 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
parport.h
5.68 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
pbm.h
1.47 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
pci.h
207 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
pci_32.h
1.09 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
pci_64.h
1.49 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
pcic.h
5.77 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
pcr.h
1.85 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
percpu.h
219 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
percpu_32.h
168 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
percpu_64.h
515 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
perf_event.h
802 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
pgalloc.h
223 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
pgalloc_32.h
1.91 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
pgalloc_64.h
2.85 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
pgtable.h
223 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
pgtable_32.h
11.35 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
pgtable_64.h
30.71 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
pgtsrmmu.h
6.05 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
pil.h
1.08 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
processor.h
231 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
processor_32.h
3.13 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
processor_64.h
7.58 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
prom.h
2.02 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
psr.h
1.38 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
ptrace.h
4.19 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
qrwlock.h
205 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
qspinlock.h
215 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
ross.h
5.52 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
sbi.h
3.34 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
scratchpad.h
547 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
seccomp.h
225 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
sections.h
289 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
setup.h
1.52 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
sfafsr.h
3.14 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
sfp-machine.h
239 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
sfp-machine_32.h
6.79 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
sfp-machine_64.h
3.1 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
shmparam.h
227 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
shmparam_32.h
253 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
shmparam_64.h
306 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
sigcontext.h
2.55 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
signal.h
835 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
smp.h
207 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
smp_32.h
3.29 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
smp_64.h
1.84 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
sparsemem.h
349 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
spinlock.h
227 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
spinlock_32.h
4.22 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
spinlock_64.h
409 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
spinlock_types.h
549 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
spitfire.h
9.73 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
stacktrace.h
166 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
starfire.h
418 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
string.h
1.13 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
string_32.h
405 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
string_64.h
505 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
sunbpp.h
3.27 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
swift.h
3.07 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
switch_to.h
231 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
switch_to_32.h
3.53 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
switch_to_64.h
2.58 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
syscall.h
3.41 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
syscalls.h
307 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
termbits.h
198 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
termios.h
4.94 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
thread_info.h
239 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
thread_info_32.h
3.66 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
thread_info_64.h
7.84 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
timer.h
215 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
timer_32.h
1.18 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
timer_64.h
2.37 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
timex.h
215 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
timex_32.h
266 bytes
11/01/2022 04:52:05 PM
rw-r--r--
📄
timex_64.h
423 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
tlb.h
207 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
tlb_32.h
520 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
tlb_64.h
913 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
tlbflush.h
227 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
tlbflush_32.h
621 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
tlbflush_64.h
1.73 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
topology.h
227 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
topology_32.h
170 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
topology_64.h
1.51 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
trap_block.h
6.51 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
traps.h
577 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
tsb.h
12.17 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
tsunami.h
1.85 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
ttable.h
20.08 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
turbosparc.h
3.78 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
uaccess.h
363 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
uaccess_32.h
8.31 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
uaccess_64.h
6.05 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
unaligned.h
339 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
unistd.h
1.37 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
upa.h
3.72 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
uprobes.h
1.86 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
user.h
102 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
vaddrs.h
2.02 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
vdso.h
662 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
vga.h
964 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
viking.h
8.14 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
vio.h
11.81 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
visasm.h
1.51 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
vvar.h
1.52 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
winmacro.h
4.66 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
xor.h
207 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
xor_32.h
7.31 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
xor_64.h
2.5 KB
01/28/2018 09:20:33 PM
rw-r--r--
Editing: uaccess_64.h
Close
/* SPDX-License-Identifier: GPL-2.0 */ #ifndef _ASM_UACCESS_H #define _ASM_UACCESS_H /* * User space memory access functions */ #include <linux/compiler.h> #include <linux/string.h> #include <asm/asi.h> #include <asm/spitfire.h> #include <asm/extable_64.h> #include <asm/processor.h> /* * Sparc64 is segmented, though more like the M68K than the I386. * We use the secondary ASI to address user memory, which references a * completely different VM map, thus there is zero chance of the user * doing something queer and tricking us into poking kernel memory. * * What is left here is basically what is needed for the other parts of * the kernel that expect to be able to manipulate, erum, "segments". * Or perhaps more properly, permissions. * * "For historical reasons, these macros are grossly misnamed." -Linus */ #define KERNEL_DS ((mm_segment_t) { ASI_P }) #define USER_DS ((mm_segment_t) { ASI_AIUS }) /* har har har */ #define get_fs() ((mm_segment_t){(current_thread_info()->current_ds)}) #define get_ds() (KERNEL_DS) #define segment_eq(a, b) ((a).seg == (b).seg) #define set_fs(val) \ do { \ current_thread_info()->current_ds = (val).seg; \ __asm__ __volatile__ ("wr %%g0, %0, %%asi" : : "r" ((val).seg)); \ } while(0) /* * Test whether a block of memory is a valid user space address. * Returns 0 if the range is valid, nonzero otherwise. */ static inline bool __chk_range_not_ok(unsigned long addr, unsigned long size, unsigned long limit) { if (__builtin_constant_p(size)) return addr > limit - size; addr += size; if (addr < size) return true; return addr > limit; } #define __range_not_ok(addr, size, limit) \ ({ \ __chk_user_ptr(addr); \ __chk_range_not_ok((unsigned long __force)(addr), size, limit); \ }) static inline int __access_ok(const void __user * addr, unsigned long size) { return 1; } static inline int access_ok(int type, const void __user * addr, unsigned long size) { return 1; } void __retl_efault(void); /* Uh, these should become the main single-value transfer routines.. * They automatically use the right size if we just have the right * pointer type.. * * This gets kind of ugly. We want to return _two_ values in "get_user()" * and yet we don't want to do any pointers, because that is too much * of a performance impact. Thus we have a few rather ugly macros here, * and hide all the ugliness from the user. */ #define put_user(x, ptr) ({ \ unsigned long __pu_addr = (unsigned long)(ptr); \ __chk_user_ptr(ptr); \ __put_user_nocheck((__typeof__(*(ptr)))(x), __pu_addr, sizeof(*(ptr)));\ }) #define get_user(x, ptr) ({ \ unsigned long __gu_addr = (unsigned long)(ptr); \ __chk_user_ptr(ptr); \ __get_user_nocheck((x), __gu_addr, sizeof(*(ptr)), __typeof__(*(ptr)));\ }) #define __put_user(x, ptr) put_user(x, ptr) #define __get_user(x, ptr) get_user(x, ptr) struct __large_struct { unsigned long buf[100]; }; #define __m(x) ((struct __large_struct *)(x)) #define __put_user_nocheck(data, addr, size) ({ \ register int __pu_ret; \ switch (size) { \ case 1: __put_user_asm(data, b, addr, __pu_ret); break; \ case 2: __put_user_asm(data, h, addr, __pu_ret); break; \ case 4: __put_user_asm(data, w, addr, __pu_ret); break; \ case 8: __put_user_asm(data, x, addr, __pu_ret); break; \ default: __pu_ret = __put_user_bad(); break; \ } \ __pu_ret; \ }) #define __put_user_asm(x, size, addr, ret) \ __asm__ __volatile__( \ "/* Put user asm, inline. */\n" \ "1:\t" "st"#size "a %1, [%2] %%asi\n\t" \ "clr %0\n" \ "2:\n\n\t" \ ".section .fixup,#alloc,#execinstr\n\t" \ ".align 4\n" \ "3:\n\t" \ "sethi %%hi(2b), %0\n\t" \ "jmpl %0 + %%lo(2b), %%g0\n\t" \ " mov %3, %0\n\n\t" \ ".previous\n\t" \ ".section __ex_table,\"a\"\n\t" \ ".align 4\n\t" \ ".word 1b, 3b\n\t" \ ".previous\n\n\t" \ : "=r" (ret) : "r" (x), "r" (__m(addr)), \ "i" (-EFAULT)) int __put_user_bad(void); #define __get_user_nocheck(data, addr, size, type) ({ \ register int __gu_ret; \ register unsigned long __gu_val; \ switch (size) { \ case 1: __get_user_asm(__gu_val, ub, addr, __gu_ret); break; \ case 2: __get_user_asm(__gu_val, uh, addr, __gu_ret); break; \ case 4: __get_user_asm(__gu_val, uw, addr, __gu_ret); break; \ case 8: __get_user_asm(__gu_val, x, addr, __gu_ret); break; \ default: \ __gu_val = 0; \ __gu_ret = __get_user_bad(); \ break; \ } \ data = (__force type) __gu_val; \ __gu_ret; \ }) #define __get_user_asm(x, size, addr, ret) \ __asm__ __volatile__( \ "/* Get user asm, inline. */\n" \ "1:\t" "ld"#size "a [%2] %%asi, %1\n\t" \ "clr %0\n" \ "2:\n\n\t" \ ".section .fixup,#alloc,#execinstr\n\t" \ ".align 4\n" \ "3:\n\t" \ "sethi %%hi(2b), %0\n\t" \ "clr %1\n\t" \ "jmpl %0 + %%lo(2b), %%g0\n\t" \ " mov %3, %0\n\n\t" \ ".previous\n\t" \ ".section __ex_table,\"a\"\n\t" \ ".align 4\n\t" \ ".word 1b, 3b\n\n\t" \ ".previous\n\t" \ : "=r" (ret), "=r" (x) : "r" (__m(addr)), \ "i" (-EFAULT)) int __get_user_bad(void); unsigned long __must_check raw_copy_from_user(void *to, const void __user *from, unsigned long size); unsigned long __must_check raw_copy_to_user(void __user *to, const void *from, unsigned long size); #define INLINE_COPY_FROM_USER #define INLINE_COPY_TO_USER unsigned long __must_check raw_copy_in_user(void __user *to, const void __user *from, unsigned long size); unsigned long __must_check __clear_user(void __user *, unsigned long); #define clear_user __clear_user __must_check long strnlen_user(const char __user *str, long n); struct pt_regs; unsigned long compute_effective_address(struct pt_regs *, unsigned int insn, unsigned int rd); #endif /* _ASM_UACCESS_H */