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: checksum_64.h
Close
/* SPDX-License-Identifier: GPL-2.0 */ #ifndef __SPARC64_CHECKSUM_H #define __SPARC64_CHECKSUM_H /* checksum.h: IP/UDP/TCP checksum routines on the V9. * * Copyright(C) 1995 Linus Torvalds * Copyright(C) 1995 Miguel de Icaza * Copyright(C) 1996 David S. Miller * Copyright(C) 1996 Eddie C. Dost * Copyright(C) 1997 Jakub Jelinek * * derived from: * Alpha checksum c-code * ix86 inline assembly * RFC1071 Computing the Internet Checksum */ #include <linux/in6.h> #include <linux/uaccess.h> /* computes the checksum of a memory block at buff, length len, * and adds in "sum" (32-bit) * * returns a 32-bit number suitable for feeding into itself * or csum_tcpudp_magic * * this function must be called with even lengths, except * for the last fragment, which may be odd * * it's best to have buff aligned on a 32-bit boundary */ __wsum csum_partial(const void * buff, int len, __wsum sum); /* the same as csum_partial, but copies from user space while it * checksums * * here even more important to align src and dst on a 32-bit (or even * better 64-bit) boundary */ __wsum csum_partial_copy_nocheck(const void *src, void *dst, int len, __wsum sum); long __csum_partial_copy_from_user(const void __user *src, void *dst, int len, __wsum sum); static inline __wsum csum_partial_copy_from_user(const void __user *src, void *dst, int len, __wsum sum, int *err) { long ret = __csum_partial_copy_from_user(src, dst, len, sum); if (ret < 0) *err = -EFAULT; return (__force __wsum) ret; } /* * Copy and checksum to user */ #define HAVE_CSUM_COPY_USER long __csum_partial_copy_to_user(const void *src, void __user *dst, int len, __wsum sum); static inline __wsum csum_and_copy_to_user(const void *src, void __user *dst, int len, __wsum sum, int *err) { long ret = __csum_partial_copy_to_user(src, dst, len, sum); if (ret < 0) *err = -EFAULT; return (__force __wsum) ret; } /* ihl is always 5 or greater, almost always is 5, and iph is word aligned * the majority of the time. */ __sum16 ip_fast_csum(const void *iph, unsigned int ihl); /* Fold a partial checksum without adding pseudo headers. */ static inline __sum16 csum_fold(__wsum sum) { unsigned int tmp; __asm__ __volatile__( " addcc %0, %1, %1\n" " srl %1, 16, %1\n" " addc %1, %%g0, %1\n" " xnor %%g0, %1, %0\n" : "=&r" (sum), "=r" (tmp) : "0" (sum), "1" ((__force u32)sum<<16) : "cc"); return (__force __sum16)sum; } static inline __wsum csum_tcpudp_nofold(__be32 saddr, __be32 daddr, __u32 len, __u8 proto, __wsum sum) { __asm__ __volatile__( " addcc %1, %0, %0\n" " addccc %2, %0, %0\n" " addccc %3, %0, %0\n" " addc %0, %%g0, %0\n" : "=r" (sum), "=r" (saddr) : "r" (daddr), "r" (proto + len), "0" (sum), "1" (saddr) : "cc"); return sum; } /* * computes the checksum of the TCP/UDP pseudo-header * returns a 16-bit checksum, already complemented */ static inline __sum16 csum_tcpudp_magic(__be32 saddr, __be32 daddr, __u32 len, __u8 proto, __wsum sum) { return csum_fold(csum_tcpudp_nofold(saddr,daddr,len,proto,sum)); } #define _HAVE_ARCH_IPV6_CSUM static inline __sum16 csum_ipv6_magic(const struct in6_addr *saddr, const struct in6_addr *daddr, __u32 len, __u8 proto, __wsum sum) { __asm__ __volatile__ ( " addcc %3, %4, %%g7\n" " addccc %5, %%g7, %%g7\n" " lduw [%2 + 0x0c], %%g2\n" " lduw [%2 + 0x08], %%g3\n" " addccc %%g2, %%g7, %%g7\n" " lduw [%2 + 0x04], %%g2\n" " addccc %%g3, %%g7, %%g7\n" " lduw [%2 + 0x00], %%g3\n" " addccc %%g2, %%g7, %%g7\n" " lduw [%1 + 0x0c], %%g2\n" " addccc %%g3, %%g7, %%g7\n" " lduw [%1 + 0x08], %%g3\n" " addccc %%g2, %%g7, %%g7\n" " lduw [%1 + 0x04], %%g2\n" " addccc %%g3, %%g7, %%g7\n" " lduw [%1 + 0x00], %%g3\n" " addccc %%g2, %%g7, %%g7\n" " addccc %%g3, %%g7, %0\n" " addc 0, %0, %0\n" : "=&r" (sum) : "r" (saddr), "r" (daddr), "r"(htonl(len)), "r"(htonl(proto)), "r"(sum) : "g2", "g3", "g7", "cc"); return csum_fold(sum); } /* this routine is used for miscellaneous IP-like checksums, mainly in icmp.c */ static inline __sum16 ip_compute_csum(const void *buff, int len) { return csum_fold(csum_partial(buff, len, 0)); } #define HAVE_ARCH_CSUM_ADD static inline __wsum csum_add(__wsum csum, __wsum addend) { __asm__ __volatile__( "addcc %0, %1, %0\n" "addx %0, %%g0, %0" : "=r" (csum) : "r" (addend), "0" (csum)); return csum; } #endif /* !(__SPARC64_CHECKSUM_H) */