⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 proll.patch

📁 qemu虚拟机代码
💻 PATCH
📖 第 1 页 / 共 5 页
字号:
diff -ruN proll_18.orig/Makefile proll-patch-15/Makefile--- proll_18.orig/Makefile	2002-09-13 14:16:59.000000000 +0000+++ proll-patch-15/Makefile	2005-11-09 18:14:51.000000000 +0000@@ -4,6 +4,7 @@ 	make -C krups-ser    all 	make -C espresso     all 	make -C espresso-ser all+	make -C qemu all  clean: 	make -C mrcoffee clean@@ -11,3 +12,4 @@ 	make -C krups-ser    clean 	make -C espresso     clean 	make -C espresso-ser clean+	make -C qemu cleandiff -ruN proll_18.orig/qemu/Makefile proll-patch-15/qemu/Makefile--- proll_18.orig/qemu/Makefile	1970-01-01 00:00:00.000000000 +0000+++ proll-patch-15/qemu/Makefile	2005-08-14 10:25:06.000000000 +0000@@ -0,0 +1,123 @@+#+# proll:+# qemu/Makefile - make PROLL for QEMU+# $Id: proll.patch,v 1.6 2005/11/11 00:24:57 bellard Exp $+#+# Copyright 1999 Pete Zaitcev+# This is Free Software is licensed under terms of GNU General Public License.+#++CC = gcc++#CROSS = /usr/local/sparc/bin/sparc-sun-linux-+CROSS = sparc-unknown-linux-gnu-++CROSSCC = $(CROSS)gcc+CROSSLD = $(CROSS)ld+CROSSNM = $(CROSS)nm++RM = /bin/rm -f+ELFTOAOUT = elftoaout++#+SRC = ../src++# Due to remapping algorithm PROLBASE should be algned on PMD.+# We make PROLBASE a define instead of using _start because we+# want to shift it to form a PGD entry. A relocatable label will not work.+# Linux kernel expects us to be at LINUX_OPPROM_BEGVM <asm-sparc/openprom.h>.+PROLBASE =   0xffd00000+PROLRODATA = 0xffd08000+PROLDATA =   0xffd0b000+PROLSIZE = 240*1024++# Linux+# Fixed %g6 is for arch/sparc/kernel/head.S, it seems ok w/o -ffixed-g6.+# Kernel uses -fcall-used-g5 -fcall-used-g7, we probably do not need them.+# __ANSI__ is supposed to be on by default but it is not.+CFLAGS = -O2 -W -Wall -DPROLBASE=$(PROLBASE) -DPROLDATA=$(PROLDATA) -DPROLRODATA=$(PROLRODATA) -D__ANSI__=1 -I$(SRC) -mcpu=hypersparc -Wa,-xarch=v8 -g -DQEMU -m32 -fno-builtin+ASFLAGS = -D__ASSEMBLY__ -I$(SRC) -DPROLRODATA=$(PROLRODATA) -DPROLDATA=$(PROLDATA) -DPROLSIZE=$(PROLSIZE) -g -Wa,-xarch=v8 -Wa,-32+# Solaris or Linux/i386 cross compilation+#CFLAGS = -Iinclude -O++LDFLAGS = -N -Ttext $(PROLBASE) --section-start .rodata=$(PROLRODATA) -Tdata $(PROLDATA) -Tbss $(PROLDATA)++ALL = proll.aout+PROLLEXE = proll.elf++OBJS = head.o wuf.o wof.o main.o $(CONSOLE) \+ printf.o le.o system_qemu.o iommu.o \+ arp.o netinit.o bootp.o packet.o tftp.o udp.o sched_4m.o openprom.o \+ vconsole.o hconsole.o rconsole.o vcons_zs.o esp.o++all:           $(ALL)++$(PROLLEXE):   $(OBJS)+	$(CROSSLD) $(LDFLAGS) -o $(PROLLEXE) $(OBJS)++head.o:         head.S $(SRC)/phys_jj.h \+  $(SRC)/asi.h $(SRC)/psr.h $(SRC)/crs.h+	$(CROSSCC) $(ASFLAGS) -DPROLBASE=$(PROLBASE) -o $*.o -c $*.S++main.o:         main.c $(SRC)/asi.h $(SRC)/pgtsrmmu.h $(SRC)/iommu.h \+  $(SRC)/phys_jj.h $(SRC)/vconsole.h $(SRC)/version.h $(SRC)/general.h \+  $(SRC)/net.h $(SRC)/romlib.h $(SRC)/netpriv.h $(SRC)/arpa.h $(SRC)/system.h+	$(CROSSCC) $(CFLAGS) -c $*.c+openprom.o:	openprom.c $(SRC)/openprom.h $(SRC)/general.h $(SRC)/romlib.h \+  $(SRC)/vconsole.h $(SRC)/system.h $(SRC)/phys_jj.h+	$(CROSSCC) $(CFLAGS) -c $*.c++system_qemu.o:       system_qemu.c $(SRC)/vconsole.h $(SRC)/pgtsrmmu.h \+  $(SRC)/timer.h $(SRC)/general.h $(SRC)/net.h $(SRC)/romlib.h $(SRC)/asi.h \+  $(SRC)/netpriv.h $(SRC)/arpa.h $(SRC)/system.h $(SRC)/crs.h+	$(CROSSCC) $(CFLAGS) -c $*.c+iommu.o:        $(SRC)/iommu.c $(SRC)/pgtsrmmu.h $(SRC)/phys_jj.h $(SRC)/iommu.h \+ $(SRC)/vconsole.h $(SRC)/general.h $(SRC)/romlib.h $(SRC)/system.h $(SRC)/asi.h+	$(CROSSCC) $(CFLAGS) -c $(SRC)/$*.c+vconsole.o:	$(SRC)/vconsole.c $(SRC)/vconsole.h $(SRC)/hconsole.h+	$(CROSSCC) $(CFLAGS) -c $(SRC)/$*.c+vcons_zs.o:	$(SRC)/vcons_zs.c $(SRC)/vconsole.h $(SRC)/system.h+	$(CROSSCC) $(CFLAGS) -c $(SRC)/$*.c+hconsole.o:	$(SRC)/hconsole.c $(SRC)/hconsole.h $(SRC)/rconsole.h $(SRC)/phys_jj.h+	$(CROSSCC) $(CFLAGS) -c $(SRC)/$*.c+rconsole.o:	$(SRC)/rconsole.c $(SRC)/rconsole.h+	$(CROSSCC) $(CFLAGS) -c $(SRC)/$*.c+printf.o:       $(SRC)/printf.c+	$(CROSSCC) $(CFLAGS) -c $(SRC)/$*.c+le.o:		$(SRC)/le.c $(SRC)/dma.h $(SRC)/system.h $(SRC)/netpriv.h $(SRC)/romlib.h $(SRC)/general.h $(SRC)/net.h $(SRC)/phys_jj.h+	$(CROSSCC) $(CFLAGS) -c $(SRC)/$*.c+esp.o:		$(SRC)/esp.c $(SRC)/dma.h $(SRC)/system.h $(SRC)/romlib.h $(SRC)/general.h $(SRC)/phys_jj.h+	$(CROSSCC) $(CFLAGS) -c $(SRC)/$*.c+arp.o:		$(SRC)/arp.c $(SRC)/general.h $(SRC)/net.h $(SRC)/romlib.h $(SRC)/netpriv.h $(SRC)/arp.h+	$(CROSSCC) $(CFLAGS) -c $(SRC)/$*.c+netinit.o:	$(SRC)/netinit.c $(SRC)/general.h $(SRC)/net.h $(SRC)/romlib.h $(SRC)/netpriv.h $(SRC)/arp.h $(SRC)/ip.h $(SRC)/udp.h+	$(CROSSCC) $(CFLAGS) -c $(SRC)/$*.c+tftp.o:		$(SRC)/tftp.c $(SRC)/general.h $(SRC)/net.h $(SRC)/arpa.h $(SRC)/romlib.h $(SRC)/tftp.h+	$(CROSSCC) $(CFLAGS) -c $(SRC)/$*.c+udp.o:		$(SRC)/udp.c $(SRC)/general.h $(SRC)/net.h $(SRC)/romlib.h $(SRC)/netpriv.h $(SRC)/arp.h $(SRC)/ip.h $(SRC)/udp.h+	$(CROSSCC) $(CFLAGS) -c $(SRC)/$*.c+packet.o:	$(SRC)/packet.c $(SRC)/general.h $(SRC)/net.h $(SRC)/romlib.h $(SRC)/netpriv.h+	$(CROSSCC) $(CFLAGS) -c $(SRC)/$*.c+sched_4m.o:	$(SRC)/sched_4m.c $(SRC)/system.h $(SRC)/general.h $(SRC)/romlib.h $(SRC)/phys_jj.h+	$(CROSSCC) $(CFLAGS) -c $(SRC)/$*.c+bootp.o:	$(SRC)/bootp.c $(SRC)/general.h $(SRC)/net.h \+  $(SRC)/arpa.h $(SRC)/romlib.h $(SRC)/system.h $(SRC)/bootp.h+	$(CROSSCC) $(CFLAGS) -DNOBPEXT=1 -c $(SRC)/$*.c++wuf.o:		$(SRC)/wuf.S+	$(CROSSCC) $(ASFLAGS) -o $*.o -c $(SRC)/$*.S+wof.o:		$(SRC)/wof.S+	$(CROSSCC) $(ASFLAGS) -o $*.o -c $(SRC)/$*.S++#genlab.o:      genlab.c+#	$(CC) -c $*.c+#+#genlab:        genlab.o+#	$(CC) -o genlab genlab.o++clean:+	$(RM) $(OBJS)+	$(RM) $(PROLLEXE) proll.aout++proll.aout:	$(PROLLEXE)+	$(ELFTOAOUT) -o proll.aout $(PROLLEXE)diff -ruN proll_18.orig/qemu/head.S proll-patch-15/qemu/head.S--- proll_18.orig/qemu/head.S	1970-01-01 00:00:00.000000000 +0000+++ proll-patch-15/qemu/head.S	2005-07-12 22:24:17.000000000 +0000@@ -0,0 +1,543 @@+/**+ ** Standalone startup code for Linux PROM emulator.+ ** Copyright 1999 Pete A. Zaitcev+ ** This code is licensed under GNU General Public License.+ **/+/*+ * $Id: proll.patch,v 1.6 2005/11/11 00:24:57 bellard Exp $+ */++#include <psr.h>+#include <asi.h>+#include <crs.h>+/* #include <asm/head.h> */	/* Trap entries. Do not use. */+#include "phys_jj.h"++#define C_LABEL(name)	name+#define REGWIN_SZ   0x40++#define WRITE_PAUSE    nop; nop; nop; /* Have to do this after %wim/%psr chg */++  /* 22 is 24-2, (va)>>(SRMMU_PGDIR_SHIFT-PTESIZESHFT) */+#define VATOPGDOFF(va) (((va)>>22)&0x3FC)+#define VATOPMDOFF(va) (((va)>>16)&0xFC)++#define NOP_INSN       0x01000000     /* Used to patch sparc_save_state */++/* Here are some trap goodies */++#if 0+/* Generic trap entry. */+#define TRAP_ENTRY(type, label) \+	rd %psr, %l0; b label; rd %wim, %l3; nop;+#endif++/* Data/text faults. */+#define SRMMU_TFAULT rd %psr, %l0; rd %wim, %l3; b C_LABEL(srmmu_fault); mov 1, %l7;+#define SRMMU_DFAULT rd %psr, %l0; rd %wim, %l3; b C_LABEL(srmmu_fault); mov 0, %l7;++#if 0+/* This is for traps we should NEVER get. */+#define BAD_TRAP(num) \+        rd %psr, %l0; mov num, %l7; b bad_trap_handler; rd %wim, %l3;++/* This is for traps when we want just skip the instruction which caused it */+#define SKIP_TRAP(type, name) \+	jmpl %l2, %g0; rett %l2 + 4; nop; nop;++/* Notice that for the system calls we pull a trick.  We load up a+ * different pointer to the system call vector table in %l7, but call+ * the same generic system call low-level entry point.  The trap table+ * entry sequences are also HyperSparc pipeline friendly ;-)+ */++/* Software trap for Linux system calls. */+#define LINUX_SYSCALL_TRAP \+        sethi %hi(C_LABEL(sys_call_table)), %l7; \+        or %l7, %lo(C_LABEL(sys_call_table)), %l7; \+        b linux_sparc_syscall; \+        rd %psr, %l0;++/* Software trap for SunOS4.1.x system calls. */+#define SUNOS_SYSCALL_TRAP \+        rd %psr, %l0; \+        sethi %hi(C_LABEL(sunos_sys_table)), %l7; \+        b linux_sparc_syscall; \+        or %l7, %lo(C_LABEL(sunos_sys_table)), %l7;++/* Software trap for Slowaris system calls. */+#define SOLARIS_SYSCALL_TRAP \+        b solaris_syscall; \+        rd %psr, %l0; \+        nop; \+        nop;++#define INDIRECT_SOLARIS_SYSCALL(x) \+	mov x, %g1; \+	b solaris_syscall; \+	rd %psr, %l0; \+	nop;++#define BREAKPOINT_TRAP \+	b breakpoint_trap; \+	rd %psr,%l0; \+	nop; \+	nop;++/* Software trap for Sparc-netbsd system calls. */+#define NETBSD_SYSCALL_TRAP \+        sethi %hi(C_LABEL(sys_call_table)), %l7; \+        or %l7, %lo(C_LABEL(sys_call_table)), %l7; \+        b bsd_syscall; \+        rd %psr, %l0;++/* The Get Condition Codes software trap for userland. */+#define GETCC_TRAP \+        b getcc_trap_handler; mov %psr, %l0; nop; nop;++/* The Set Condition Codes software trap for userland. */+#define SETCC_TRAP \+        b setcc_trap_handler; mov %psr, %l0; nop; nop;++/* This is for hard interrupts from level 1-14, 15 is non-maskable (nmi) and+ * gets handled with another macro.+ */+#define TRAP_ENTRY_INTERRUPT(int_level) \+        mov int_level, %l7; rd %psr, %l0; b real_irq_entry; rd %wim, %l3;++/* NMI's (Non Maskable Interrupts) are special, you can't keep them+ * from coming in, and basically if you get one, the shows over. ;(+ * On the sun4c they are usually asynchronous memory errors, on the+ * the sun4m they could be either due to mem errors or a software+ * initiated interrupt from the prom/kern on an SMP box saying "I+ * command you to do CPU tricks, read your mailbox for more info."+ */+#define NMI_TRAP \+        rd %wim, %l3; b linux_trap_nmi_sun4c; mov %psr, %l0; nop;++#endif++/* Window overflows/underflows are special and we need to try to be as+ * efficient as possible here....+ */+#define WINDOW_SPILL \+        rd %psr, %l0; rd %wim, %l3; b spill_window_entry; nop;++#define WINDOW_FILL \+        rd %psr, %l0; rd %wim, %l3; b fill_window_entry; nop;++#define STUB_TRAP	ba stub_trap; nop; nop; nop;++#define TRAP_ENTRY(a,b)		STUB_TRAP+#define SKIP_TRAP(a,b)		STUB_TRAP+#define SUNOS_SYSCALL_TRAP	STUB_TRAP+#define SOLARIS_SYSCALL_TRAP	STUB_TRAP+#define NETBSD_SYSCALL_TRAP	STUB_TRAP+#define LINUX_SYSCALL_TRAP	STUB_TRAP+#define BREAKPOINT_TRAP		STUB_TRAP+#define NMI_TRAP		STUB_TRAP+#define GETCC_TRAP		STUB_TRAP+#define SETCC_TRAP		STUB_TRAP+#define BAD_TRAP(n)		STUB_TRAP+#define	TRAP_ENTRY_INTERRUPT(i)		STUB_TRAP+#define	INDIRECT_SOLARIS_SYSCALL(i)	STUB_TRAP++	.section ".text"+	.globl start, _start+_start:+start:+	.globl spill_window_entry, fill_window_entry++#define	EXPORT_TRAP(trap) \+	.globl trap; \+	.type trap,function; \+	.size trap, 16++EXPORT_TRAP(t_zero)+EXPORT_TRAP(t_wovf)+EXPORT_TRAP(t_wunf)+EXPORT_TRAP(t_irq1)+EXPORT_TRAP(t_irq2)+EXPORT_TRAP(t_irq3)+EXPORT_TRAP(t_irq4)+EXPORT_TRAP(t_irq5)+EXPORT_TRAP(t_irq6)+EXPORT_TRAP(t_irq7)+EXPORT_TRAP(t_irq8)+EXPORT_TRAP(t_irq9)+EXPORT_TRAP(t_irq10)+EXPORT_TRAP(t_irq11)+EXPORT_TRAP(t_irq12)+EXPORT_TRAP(t_irq13)+EXPORT_TRAP(t_irq14)+EXPORT_TRAP(t_irq15)++C_LABEL(trapbase):+t_zero:	b goprol; nop; nop; nop;+t_tflt:	SRMMU_TFAULT                        /* Inst. Access Exception        */+t_bins:	TRAP_ENTRY(0x2, bad_instruction)    /* Illegal Instruction           */+t_pins:	TRAP_ENTRY(0x3, priv_instruction)   /* Privileged Instruction        */+t_fpd:	TRAP_ENTRY(0x4, fpd_trap_handler)   /* Floating Point Disabled       */+t_wovf:	WINDOW_SPILL                        /* Window Overflow               */+t_wunf:	WINDOW_FILL                         /* Window Underflow              */+t_mna:	TRAP_ENTRY(0x7, mna_handler)        /* Memory Address Not Aligned    */+t_fpe:	TRAP_ENTRY(0x8, fpe_trap_handler)   /* Floating Point Exception      */+t_dflt:	SRMMU_DFAULT                        /* Data Miss Exception           */+t_tio:	TRAP_ENTRY(0xa, do_tag_overflow)    /* Tagged Instruction Ovrflw     */+t_wpt:	TRAP_ENTRY(0xb, do_watchpoint)      /* Watchpoint Detected           */+t_badc:	BAD_TRAP(0xc) BAD_TRAP(0xd) BAD_TRAP(0xe) BAD_TRAP(0xf) BAD_TRAP(0x10)+t_irq1:	TRAP_ENTRY_INTERRUPT(1)             /* IRQ Software/SBUS Level 1     */+t_irq2:	TRAP_ENTRY_INTERRUPT(2)             /* IRQ SBUS Level 2              */+t_irq3:	TRAP_ENTRY_INTERRUPT(3)             /* IRQ SCSI/DMA/SBUS Level 3     */+t_irq4:	TRAP_ENTRY_INTERRUPT(4)             /* IRQ Software Level 4          */+t_irq5:	TRAP_ENTRY_INTERRUPT(5)             /* IRQ SBUS/Ethernet Level 5     */+t_irq6:	TRAP_ENTRY_INTERRUPT(6)             /* IRQ Software Level 6          */+t_irq7:	TRAP_ENTRY_INTERRUPT(7)             /* IRQ Video/SBUS Level 5        */+t_irq8:	TRAP_ENTRY_INTERRUPT(8)             /* IRQ SBUS Level 6              */+t_irq9:	TRAP_ENTRY_INTERRUPT(9)             /* IRQ SBUS Level 7              */+t_irq10:TRAP_ENTRY_INTERRUPT(10)            /* IRQ Timer #1 (one we use)     */+t_irq11:TRAP_ENTRY_INTERRUPT(11)            /* IRQ Floppy Intr.              */+t_irq12:TRAP_ENTRY_INTERRUPT(12)            /* IRQ Zilog serial chip         */+t_irq13:TRAP_ENTRY_INTERRUPT(13)            /* IRQ Audio Intr.               */+t_irq14:TRAP_ENTRY_INTERRUPT(14)            /* IRQ Timer #2                  */+t_nmi:	NMI_TRAP                            /* Level 15 (NMI)                */+t_racc:	TRAP_ENTRY(0x20, do_reg_access)     /* General Register Access Error */+t_iacce:BAD_TRAP(0x21)                      /* Instr Access Error            */+t_bad22:BAD_TRAP(0x22) BAD_TRAP(0x23)+t_cpdis:TRAP_ENTRY(0x24, do_cp_disabled)    /* Co-Processor Disabled         */+t_uflsh:SKIP_TRAP(0x25, unimp_flush)        /* Unimplemented FLUSH inst.     */+t_bad26:BAD_TRAP(0x26) BAD_TRAP(0x27)+t_cpexc:TRAP_ENTRY(0x28, do_cp_exception)   /* Co-Processor Exception        */+t_dacce:SRMMU_DFAULT                        /* Data Access Error             */+t_hwdz:	TRAP_ENTRY(0x2a, do_hw_divzero)     /* Division by zero, you lose... */+t_dserr:BAD_TRAP(0x2b)                      /* Data Store Error              */+t_daccm:BAD_TRAP(0x2c)                      /* Data Access MMU-Miss          */+t_bad2d:               BAD_TRAP(0x2d) BAD_TRAP(0x2e) BAD_TRAP(0x2f)+        BAD_TRAP(0x30) BAD_TRAP(0x31) BAD_TRAP(0x32) BAD_TRAP(0x33)+        BAD_TRAP(0x34) BAD_TRAP(0x35) BAD_TRAP(0x36) BAD_TRAP(0x37)+        BAD_TRAP(0x38) BAD_TRAP(0x39) BAD_TRAP(0x3a) BAD_TRAP(0x3b)+t_iaccm:BAD_TRAP(0x3c)                      /* Instr Access MMU-Miss         */+ BAD_TRAP(0x3d) BAD_TRAP(0x3e) BAD_TRAP(0x3f)+ BAD_TRAP(0x40) BAD_TRAP(0x41) BAD_TRAP(0x42) BAD_TRAP(0x43)+ BAD_TRAP(0x44) BAD_TRAP(0x45) BAD_TRAP(0x46) BAD_TRAP(0x47)+ BAD_TRAP(0x48) BAD_TRAP(0x49) BAD_TRAP(0x4a) BAD_TRAP(0x4b)+ BAD_TRAP(0x4c) BAD_TRAP(0x4d) BAD_TRAP(0x4e) BAD_TRAP(0x4f)+ BAD_TRAP(0x50) BAD_TRAP(0x51) BAD_TRAP(0x52) BAD_TRAP(0x53)+ BAD_TRAP(0x54) BAD_TRAP(0x55) BAD_TRAP(0x56) BAD_TRAP(0x57)+ BAD_TRAP(0x58) BAD_TRAP(0x59) BAD_TRAP(0x5a) BAD_TRAP(0x5b)+ BAD_TRAP(0x5c) BAD_TRAP(0x5d) BAD_TRAP(0x5e) BAD_TRAP(0x5f)+ BAD_TRAP(0x60) BAD_TRAP(0x61) BAD_TRAP(0x62) BAD_TRAP(0x63)+ BAD_TRAP(0x64) BAD_TRAP(0x65) BAD_TRAP(0x66) BAD_TRAP(0x67)+ BAD_TRAP(0x68) BAD_TRAP(0x69) BAD_TRAP(0x6a) BAD_TRAP(0x6b)+ BAD_TRAP(0x6c) BAD_TRAP(0x6d) BAD_TRAP(0x6e) BAD_TRAP(0x6f)+ BAD_TRAP(0x70) BAD_TRAP(0x71) BAD_TRAP(0x72) BAD_TRAP(0x73)+ BAD_TRAP(0x74) BAD_TRAP(0x75) BAD_TRAP(0x76) BAD_TRAP(0x77)+ BAD_TRAP(0x78) BAD_TRAP(0x79) BAD_TRAP(0x7a) BAD_TRAP(0x7b)+ BAD_TRAP(0x7c) BAD_TRAP(0x7d) BAD_TRAP(0x7e) BAD_TRAP(0x7f)+t_sunos:SUNOS_SYSCALL_TRAP                  /* SunOS System Call             */+t_sbkpt:BREAKPOINT_TRAP                     /* Software Breakpoint/KGDB      */+t_divz:	BAD_TRAP(0x82)                      /* Divide by zero trap           */+t_flwin:TRAP_ENTRY(0x83, do_flush_windows)  /* Flush Windows Trap            */+t_clwin:BAD_TRAP(0x84)                      /* Clean Windows Trap            */+t_rchk:	BAD_TRAP(0x85)                      /* Range Check                   */+t_funal:BAD_TRAP(0x86)                      /* Fix Unaligned Access Trap     */+t_iovf:	BAD_TRAP(0x87)                      /* Integer Overflow Trap         */+t_slowl:SOLARIS_SYSCALL_TRAP                /* Slowaris System Call          */+t_netbs:NETBSD_SYSCALL_TRAP                 /* Net-B.S. System Call          */+t_bad8a:BAD_TRAP(0x8a) BAD_TRAP(0x8b) BAD_TRAP(0x8c) BAD_TRAP(0x8d)+ BAD_TRAP(0x8e) BAD_TRAP(0x8f)+t_linux:LINUX_SYSCALL_TRAP                  /* Linux System Call             */+t_bad91:BAD_TRAP(0x91) BAD_TRAP(0x92) BAD_TRAP(0x93)+ BAD_TRAP(0x94) BAD_TRAP(0x95) BAD_TRAP(0x96) BAD_TRAP(0x97)+ BAD_TRAP(0x98) BAD_TRAP(0x99) BAD_TRAP(0x9a) BAD_TRAP(0x9b) BAD_TRAP(0x9c) BAD_TRAP(0x9d) BAD_TRAP(0x9e) BAD_TRAP(0x9f)+t_getcc:GETCC_TRAP                          /* Get Condition Codes           */+t_setcc:SETCC_TRAP                          /* Set Condition Codes           */+t_bada2:BAD_TRAP(0xa2) BAD_TRAP(0xa3)+ BAD_TRAP(0xa4) BAD_TRAP(0xa5) BAD_TRAP(0xa6)+t_slowi:INDIRECT_SOLARIS_SYSCALL(156)+ BAD_TRAP(0xa8) BAD_TRAP(0xa9) BAD_TRAP(0xaa) BAD_TRAP(0xab)+ BAD_TRAP(0xac) BAD_TRAP(0xad) BAD_TRAP(0xae) BAD_TRAP(0xaf)+ BAD_TRAP(0xb0) BAD_TRAP(0xb1) BAD_TRAP(0xb2) BAD_TRAP(0xb3)+ BAD_TRAP(0xb4) BAD_TRAP(0xb5) BAD_TRAP(0xb6) BAD_TRAP(0xb7)+ BAD_TRAP(0xb8) BAD_TRAP(0xb9) BAD_TRAP(0xba) BAD_TRAP(0xbb)+ BAD_TRAP(0xbc) BAD_TRAP(0xbd) BAD_TRAP(0xbe) BAD_TRAP(0xbf)+t_badc0:BAD_TRAP(0xc0) BAD_TRAP(0xc1) BAD_TRAP(0xc2) BAD_TRAP(0xc3)+ BAD_TRAP(0xc4) BAD_TRAP(0xc5) BAD_TRAP(0xc6) BAD_TRAP(0xc7)+ BAD_TRAP(0xc8) BAD_TRAP(0xc9) BAD_TRAP(0xca) BAD_TRAP(0xcb)+ BAD_TRAP(0xcc) BAD_TRAP(0xcd) BAD_TRAP(0xce) BAD_TRAP(0xcf)+ BAD_TRAP(0xd0) BAD_TRAP(0xd1) BAD_TRAP(0xd2) BAD_TRAP(0xd3)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -