OXIESEC PANEL
- Current Dir:
/
/
usr
/
src
/
linux-headers-4.15.0-197
/
arch
/
mips
/
include
/
asm
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
11/17/2022 06:42:15 AM
rwxr-xr-x
📄
Kbuild
577 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
abi.h
853 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
addrspace.h
4.1 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
amon.h
409 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
arch_hweight.h
792 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
asm-eva.h
6.82 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
197 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
asm.h
8.47 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
asmmacro-32.h
2.47 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
asmmacro-64.h
1.22 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
asmmacro.h
14.07 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
atomic.h
19.73 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
barrier.h
8.03 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
bcache.h
2.04 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
bitops.h
15.46 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
bitrev.h
608 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
bmips-spaces.h
268 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
bmips.h
3.45 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
bootinfo.h
5.08 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
branch.h
2.35 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
break.h
787 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
bug.h
759 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
bugs.h
944 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
cache.h
546 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
cacheflush.h
4.99 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
cacheops.h
3.71 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
cdmm.h
3.67 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
cevt-r4k.h
823 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
checksum.h
6.43 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
clock.h
997 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
clocksource.h
884 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
cmp.h
492 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
cmpxchg.h
5.28 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
compat-signal.h
640 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
compat.h
6.66 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
compiler.h
2.96 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
cop2.h
1.77 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
cpu-features.h
19.46 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
cpu-info.h
5.84 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
cpu-type.h
4.13 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
cpu.h
15.54 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
cpufeature.h
717 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
debug.h
654 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📁
dec
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📄
delay.h
841 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
device.h
347 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
div64.h
2.17 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
dma-coherence.h
813 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
dma-mapping.h
981 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
dma.h
9.92 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
ds1287.h
1019 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
dsemul.h
3.24 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
dsp.h
1.91 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
edac.h
819 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
elf.h
15.04 KB
01/28/2018 09:20:33 PM
rw-r--r--
📁
emma
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📄
errno.h
429 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
eva.h
796 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
exec.h
579 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
extable.h
241 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
fb.h
372 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
fixmap.h
2.29 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
floppy.h
1.57 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
fpregdef.h
2.66 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
fpu.h
5.21 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
fpu_emulator.h
5.74 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
ftrace.h
2.11 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
futex.h
4.87 KB
01/28/2018 09:20:33 PM
rw-r--r--
📁
fw
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📄
gio_device.h
1.5 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
gt64120.h
19.37 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
hardirq.h
544 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
hazards.h
8.36 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
highmem.h
1.72 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
hpet.h
1.93 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
hugetlb.h
2.76 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
hw_irq.h
475 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
i8259.h
2.52 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
ide.h
330 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
idle.h
689 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
inst.h
2.34 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
io.h
18.44 KB
11/01/2022 04:52:05 PM
rw-r--r--
📁
ip32
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📄
irq.h
2.26 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
irq_cpu.h
708 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
irq_gt641xx.h
2.69 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
irq_regs.h
744 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
irqflags.h
4.04 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
isa-rev.h
556 bytes
11/01/2022 04:52:05 PM
rw-r--r--
📄
isadep.h
603 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
jazz.h
8 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
jazzdma.h
2.97 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
jump_label.h
1.4 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
kdebug.h
303 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
kexec.h
1.53 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
kgdb.h
1.19 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
kmap_types.h
221 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
kprobes.h
2.68 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
kvm_host.h
37.88 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
kvm_para.h
2.09 KB
01/28/2018 09:20:33 PM
rw-r--r--
📁
lasat
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📄
linkage.h
306 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
llsc.h
623 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
local.h
4.99 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
m48t37.h
732 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
maar.h
4.04 KB
01/28/2018 09:20:33 PM
rw-r--r--
📁
mach-ar7
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-ath25
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-ath79
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-au1x00
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-bcm47xx
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-bcm63xx
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-bmips
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-cavium-octeon
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-cobalt
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-db1x00
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-dec
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-emma2rh
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-generic
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-ip22
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-ip27
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-ip28
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-ip32
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-jazz
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-jz4740
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-lantiq
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-lasat
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-loongson32
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-loongson64
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-malta
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-netlogic
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-paravirt
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-pic32
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-pistachio
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-pmcs-msp71xx
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-pnx833x
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-ralink
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-rc32434
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-rm
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-sibyte
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-tx39xx
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-tx49xx
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-vr41xx
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📁
mach-xilfpga
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📄
machine.h
2.93 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
mc146818-time.h
3.69 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
mc146818rtc.h
450 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📁
mips-boards
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📄
mips-cm.h
15.86 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
mips-cpc.h
5.83 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
mips-cps.h
6.55 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
mips-gic.h
12.3 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
mips-r2-to-r6-emul.h
2.05 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
mips_machine.h
1.32 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
mips_mt.h
707 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
mipsmtregs.h
10.9 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
mipsprom.h
2.1 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
mipsregs.h
88.1 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
mmu.h
550 bytes
11/01/2022 04:52:05 PM
rw-r--r--
📄
mmu_context.h
5.41 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
mmzone.h
561 bytes
11/01/2022 04:52:05 PM
rw-r--r--
📄
module.h
4.45 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
msa.h
8.01 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
msc01_ic.h
6.55 KB
01/28/2018 09:20:33 PM
rw-r--r--
📁
netlogic
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📄
nile4.h
10.33 KB
01/28/2018 09:20:33 PM
rw-r--r--
📁
octeon
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📄
paccess.h
3.07 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
page.h
7.19 KB
01/28/2018 09:20:33 PM
rw-r--r--
📁
pci
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📄
pci.h
4.08 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
perf_event.h
482 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
pgalloc.h
3.21 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
pgtable-32.h
7.31 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
pgtable-64.h
10.87 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
pgtable-bits.h
7.36 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
pgtable.h
17.34 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
pm-cps.h
1.68 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
pm.h
3.99 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
pmon.h
1.64 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
prefetch.h
2.1 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
processor.h
11.71 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
prom.h
845 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
ptrace.h
5.55 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
r4k-timer.h
604 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
r4kcache.h
26.34 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
reboot.h
440 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
reg.h
26 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
regdef.h
2.63 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
rtlx.h
2.1 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
seccomp.h
800 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
serial.h
607 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
setup.h
884 bytes
11/01/2022 04:52:05 PM
rw-r--r--
📁
sgi
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📄
sgialib.h
2.45 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
sgiarcs.h
15.32 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
shmparam.h
352 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📁
sibyte
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📄
sigcontext.h
1.04 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
signal.h
1.02 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
sim.h
2.32 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
smp-cps.h
1.18 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
smp-ops.h
2.33 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
smp.h
3.31 KB
11/01/2022 04:52:05 PM
rw-r--r--
📁
sn
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📄
sni.h
7.27 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
socket.h
1.34 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
sparsemem.h
486 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
spinlock.h
459 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
spinlock_types.h
188 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
spram.h
262 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
stackframe.h
10.82 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
stackprotector.h
1.15 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
stacktrace.h
2.15 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
string.h
2.94 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
switch_to.h
4.19 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
syscall.h
3.57 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
termios.h
2.89 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
thread_info.h
6.63 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
time.h
2.13 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
timex.h
2.87 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
tlb.h
1.09 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
tlbdebug.h
403 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
tlbex.h
788 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
tlbflush.h
1.67 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
tlbmisc.h
320 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
topology.h
619 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
traps.h
1.25 KB
01/28/2018 09:20:33 PM
rw-r--r--
📁
txx9
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📄
txx9irq.h
743 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
txx9pio.h
592 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
txx9tmr.h
1.59 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
types.h
487 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
uaccess.h
22.2 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
uasm.h
9.18 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
unistd.h
1.9 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
uprobes.h
1.11 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
vdso.h
3.72 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
vga.h
1.26 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
vpe.h
2.7 KB
01/28/2018 09:20:33 PM
rw-r--r--
📁
vr41xx
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📄
war.h
7.48 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
watch.h
827 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
wbflush.h
694 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📁
xtalk
-
11/17/2022 06:42:20 AM
rwxr-xr-x
📄
yamon-dt.h
1.88 KB
01/28/2018 09:20:33 PM
rw-r--r--
Editing: uasm.h
Close
/* * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive * for more details. * * Copyright (C) 2004, 2005, 2006, 2008 Thiemo Seufer * Copyright (C) 2005 Maciej W. Rozycki * Copyright (C) 2006 Ralf Baechle (ralf@linux-mips.org) * Copyright (C) 2012, 2013 MIPS Technologies, Inc. All rights reserved. */ #ifndef __ASM_UASM_H #define __ASM_UASM_H #include <linux/types.h> #ifdef CONFIG_EXPORT_UASM #include <linux/export.h> #define UASM_EXPORT_SYMBOL(sym) EXPORT_SYMBOL(sym) #else #define UASM_EXPORT_SYMBOL(sym) #endif #define Ip_u1u2u3(op) \ void uasm_i##op(u32 **buf, unsigned int a, unsigned int b, unsigned int c) #define Ip_u2u1u3(op) \ void uasm_i##op(u32 **buf, unsigned int a, unsigned int b, unsigned int c) #define Ip_u3u2u1(op) \ void uasm_i##op(u32 **buf, unsigned int a, unsigned int b, unsigned int c) #define Ip_u3u1u2(op) \ void uasm_i##op(u32 **buf, unsigned int a, unsigned int b, unsigned int c) #define Ip_u1u2s3(op) \ void uasm_i##op(u32 **buf, unsigned int a, unsigned int b, signed int c) #define Ip_u2s3u1(op) \ void uasm_i##op(u32 **buf, unsigned int a, signed int b, unsigned int c) #define Ip_s3s1s2(op) \ void uasm_i##op(u32 **buf, int a, int b, int c) #define Ip_u2u1s3(op) \ void uasm_i##op(u32 **buf, unsigned int a, unsigned int b, signed int c) #define Ip_u2u1msbu3(op) \ void uasm_i##op(u32 **buf, unsigned int a, unsigned int b, unsigned int c, \ unsigned int d) #define Ip_u1u2(op) \ void uasm_i##op(u32 **buf, unsigned int a, unsigned int b) #define Ip_u2u1(op) \ void uasm_i##op(u32 **buf, unsigned int a, unsigned int b) #define Ip_u1s2(op) \ void uasm_i##op(u32 **buf, unsigned int a, signed int b) #define Ip_u1(op) void uasm_i##op(u32 **buf, unsigned int a) #define Ip_0(op) void uasm_i##op(u32 **buf) Ip_u2u1s3(_addiu); Ip_u3u1u2(_addu); Ip_u3u1u2(_and); Ip_u2u1u3(_andi); Ip_u1u2s3(_bbit0); Ip_u1u2s3(_bbit1); Ip_u1u2s3(_beq); Ip_u1u2s3(_beql); Ip_u1s2(_bgez); Ip_u1s2(_bgezl); Ip_u1s2(_bgtz); Ip_u1s2(_blez); Ip_u1s2(_bltz); Ip_u1s2(_bltzl); Ip_u1u2s3(_bne); Ip_u1(_break); Ip_u2s3u1(_cache); Ip_u1u2(_cfc1); Ip_u2u1(_cfcmsa); Ip_u1u2(_ctc1); Ip_u2u1(_ctcmsa); Ip_u2u1s3(_daddiu); Ip_u3u1u2(_daddu); Ip_u1u2(_ddivu); Ip_u1(_di); Ip_u2u1msbu3(_dins); Ip_u2u1msbu3(_dinsm); Ip_u2u1msbu3(_dinsu); Ip_u1u2(_divu); Ip_u1u2u3(_dmfc0); Ip_u1u2u3(_dmtc0); Ip_u1u2(_dmultu); Ip_u2u1u3(_drotr); Ip_u2u1u3(_drotr32); Ip_u2u1(_dsbh); Ip_u2u1(_dshd); Ip_u2u1u3(_dsll); Ip_u2u1u3(_dsll32); Ip_u3u2u1(_dsllv); Ip_u2u1u3(_dsra); Ip_u2u1u3(_dsra32); Ip_u3u2u1(_dsrav); Ip_u2u1u3(_dsrl); Ip_u2u1u3(_dsrl32); Ip_u3u2u1(_dsrlv); Ip_u3u1u2(_dsubu); Ip_0(_eret); Ip_u2u1msbu3(_ext); Ip_u2u1msbu3(_ins); Ip_u1(_j); Ip_u1(_jal); Ip_u2u1(_jalr); Ip_u1(_jr); Ip_u2s3u1(_lb); Ip_u2s3u1(_lbu); Ip_u2s3u1(_ld); Ip_u3u1u2(_ldx); Ip_u2s3u1(_lh); Ip_u2s3u1(_lhu); Ip_u2s3u1(_ll); Ip_u2s3u1(_lld); Ip_u1s2(_lui); Ip_u2s3u1(_lw); Ip_u2s3u1(_lwu); Ip_u3u1u2(_lwx); Ip_u1u2u3(_mfc0); Ip_u1u2u3(_mfhc0); Ip_u1(_mfhi); Ip_u1(_mflo); Ip_u3u1u2(_movn); Ip_u3u1u2(_movz); Ip_u1u2u3(_mtc0); Ip_u1u2u3(_mthc0); Ip_u1(_mthi); Ip_u1(_mtlo); Ip_u3u1u2(_mul); Ip_u1u2(_multu); Ip_u3u1u2(_nor); Ip_u3u1u2(_or); Ip_u2u1u3(_ori); Ip_u2s3u1(_pref); Ip_0(_rfe); Ip_u2u1u3(_rotr); Ip_u2s3u1(_sb); Ip_u2s3u1(_sc); Ip_u2s3u1(_scd); Ip_u2s3u1(_sd); Ip_u2s3u1(_sh); Ip_u2u1u3(_sll); Ip_u3u2u1(_sllv); Ip_s3s1s2(_slt); Ip_u2u1s3(_slti); Ip_u2u1s3(_sltiu); Ip_u3u1u2(_sltu); Ip_u2u1u3(_sra); Ip_u2u1u3(_srl); Ip_u3u2u1(_srlv); Ip_u3u1u2(_subu); Ip_u2s3u1(_sw); Ip_u1(_sync); Ip_u1(_syscall); Ip_0(_tlbp); Ip_0(_tlbr); Ip_0(_tlbwi); Ip_0(_tlbwr); Ip_u1(_wait); Ip_u2u1(_wsbh); Ip_u3u1u2(_xor); Ip_u2u1u3(_xori); Ip_u2u1(_yield); Ip_u1u2(_ldpte); Ip_u2u1u3(_lddir); /* Handle labels. */ struct uasm_label { u32 *addr; int lab; }; void uasm_build_label(struct uasm_label **lab, u32 *addr, int lid); #ifdef CONFIG_64BIT int uasm_in_compat_space_p(long addr); #endif int uasm_rel_hi(long val); int uasm_rel_lo(long val); void UASM_i_LA_mostly(u32 **buf, unsigned int rs, long addr); void UASM_i_LA(u32 **buf, unsigned int rs, long addr); #define UASM_L_LA(lb) \ static inline void uasm_l##lb(struct uasm_label **lab, u32 *addr) \ { \ uasm_build_label(lab, addr, label##lb); \ } /* convenience macros for instructions */ #ifdef CONFIG_64BIT # define UASM_i_ADDIU(buf, rs, rt, val) uasm_i_daddiu(buf, rs, rt, val) # define UASM_i_ADDU(buf, rs, rt, rd) uasm_i_daddu(buf, rs, rt, rd) # define UASM_i_LL(buf, rs, rt, off) uasm_i_lld(buf, rs, rt, off) # define UASM_i_LW(buf, rs, rt, off) uasm_i_ld(buf, rs, rt, off) # define UASM_i_LWX(buf, rs, rt, rd) uasm_i_ldx(buf, rs, rt, rd) # define UASM_i_MFC0(buf, rt, rd...) uasm_i_dmfc0(buf, rt, rd) # define UASM_i_MTC0(buf, rt, rd...) uasm_i_dmtc0(buf, rt, rd) # define UASM_i_ROTR(buf, rs, rt, sh) uasm_i_drotr(buf, rs, rt, sh) # define UASM_i_SC(buf, rs, rt, off) uasm_i_scd(buf, rs, rt, off) # define UASM_i_SLL(buf, rs, rt, sh) uasm_i_dsll(buf, rs, rt, sh) # define UASM_i_SRA(buf, rs, rt, sh) uasm_i_dsra(buf, rs, rt, sh) # define UASM_i_SRL(buf, rs, rt, sh) uasm_i_dsrl(buf, rs, rt, sh) # define UASM_i_SRL_SAFE(buf, rs, rt, sh) uasm_i_dsrl_safe(buf, rs, rt, sh) # define UASM_i_SUBU(buf, rs, rt, rd) uasm_i_dsubu(buf, rs, rt, rd) # define UASM_i_SW(buf, rs, rt, off) uasm_i_sd(buf, rs, rt, off) #else # define UASM_i_ADDIU(buf, rs, rt, val) uasm_i_addiu(buf, rs, rt, val) # define UASM_i_ADDU(buf, rs, rt, rd) uasm_i_addu(buf, rs, rt, rd) # define UASM_i_LL(buf, rs, rt, off) uasm_i_ll(buf, rs, rt, off) # define UASM_i_LW(buf, rs, rt, off) uasm_i_lw(buf, rs, rt, off) # define UASM_i_LWX(buf, rs, rt, rd) uasm_i_lwx(buf, rs, rt, rd) # define UASM_i_MFC0(buf, rt, rd...) uasm_i_mfc0(buf, rt, rd) # define UASM_i_MTC0(buf, rt, rd...) uasm_i_mtc0(buf, rt, rd) # define UASM_i_ROTR(buf, rs, rt, sh) uasm_i_rotr(buf, rs, rt, sh) # define UASM_i_SC(buf, rs, rt, off) uasm_i_sc(buf, rs, rt, off) # define UASM_i_SLL(buf, rs, rt, sh) uasm_i_sll(buf, rs, rt, sh) # define UASM_i_SRA(buf, rs, rt, sh) uasm_i_sra(buf, rs, rt, sh) # define UASM_i_SRL(buf, rs, rt, sh) uasm_i_srl(buf, rs, rt, sh) # define UASM_i_SRL_SAFE(buf, rs, rt, sh) uasm_i_srl(buf, rs, rt, sh) # define UASM_i_SUBU(buf, rs, rt, rd) uasm_i_subu(buf, rs, rt, rd) # define UASM_i_SW(buf, rs, rt, off) uasm_i_sw(buf, rs, rt, off) #endif #define uasm_i_b(buf, off) uasm_i_beq(buf, 0, 0, off) #define uasm_i_beqz(buf, rs, off) uasm_i_beq(buf, rs, 0, off) #define uasm_i_beqzl(buf, rs, off) uasm_i_beql(buf, rs, 0, off) #define uasm_i_bnez(buf, rs, off) uasm_i_bne(buf, rs, 0, off) #define uasm_i_bnezl(buf, rs, off) uasm_i_bnel(buf, rs, 0, off) #define uasm_i_ehb(buf) uasm_i_sll(buf, 0, 0, 3) #define uasm_i_move(buf, a, b) UASM_i_ADDU(buf, a, 0, b) #define uasm_i_nop(buf) uasm_i_sll(buf, 0, 0, 0) #define uasm_i_ssnop(buf) uasm_i_sll(buf, 0, 0, 1) static inline void uasm_i_drotr_safe(u32 **p, unsigned int a1, unsigned int a2, unsigned int a3) { if (a3 < 32) uasm_i_drotr(p, a1, a2, a3); else uasm_i_drotr32(p, a1, a2, a3 - 32); } static inline void uasm_i_dsll_safe(u32 **p, unsigned int a1, unsigned int a2, unsigned int a3) { if (a3 < 32) uasm_i_dsll(p, a1, a2, a3); else uasm_i_dsll32(p, a1, a2, a3 - 32); } static inline void uasm_i_dsrl_safe(u32 **p, unsigned int a1, unsigned int a2, unsigned int a3) { if (a3 < 32) uasm_i_dsrl(p, a1, a2, a3); else uasm_i_dsrl32(p, a1, a2, a3 - 32); } static inline void uasm_i_dsra_safe(u32 **p, unsigned int a1, unsigned int a2, unsigned int a3) { if (a3 < 32) uasm_i_dsra(p, a1, a2, a3); else uasm_i_dsra32(p, a1, a2, a3 - 32); } /* Handle relocations. */ struct uasm_reloc { u32 *addr; unsigned int type; int lab; }; /* This is zero so we can use zeroed label arrays. */ #define UASM_LABEL_INVALID 0 void uasm_r_mips_pc16(struct uasm_reloc **rel, u32 *addr, int lid); void uasm_resolve_relocs(struct uasm_reloc *rel, struct uasm_label *lab); void uasm_move_relocs(struct uasm_reloc *rel, u32 *first, u32 *end, long off); void uasm_move_labels(struct uasm_label *lab, u32 *first, u32 *end, long off); void uasm_copy_handler(struct uasm_reloc *rel, struct uasm_label *lab, u32 *first, u32 *end, u32 *target); int uasm_insn_has_bdelay(struct uasm_reloc *rel, u32 *addr); /* Convenience functions for labeled branches. */ void uasm_il_b(u32 **p, struct uasm_reloc **r, int lid); void uasm_il_bbit0(u32 **p, struct uasm_reloc **r, unsigned int reg, unsigned int bit, int lid); void uasm_il_bbit1(u32 **p, struct uasm_reloc **r, unsigned int reg, unsigned int bit, int lid); void uasm_il_beq(u32 **p, struct uasm_reloc **r, unsigned int r1, unsigned int r2, int lid); void uasm_il_beqz(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid); void uasm_il_beqzl(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid); void uasm_il_bgezl(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid); void uasm_il_bgez(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid); void uasm_il_bltz(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid); void uasm_il_bne(u32 **p, struct uasm_reloc **r, unsigned int reg1, unsigned int reg2, int lid); void uasm_il_bnez(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid); #endif /* __ASM_UASM_H */