From dc2f856197359195d24bce47239cf1699ba856ed Mon Sep 17 00:00:00 2001 From: tracer-ics2020 Date: Thu, 2 Jan 2025 15:26:51 +0800 Subject: [PATCH 01/10] =?UTF-8?q?>=20=20compile=20201402010101=20=20Static?= =?UTF-8?q?=20hostname:=20can=20=20=20=20=20=20=20=20Icon=20name:=20comput?= =?UTF-8?q?er-laptop=20=20=20=20=20=20=20=20=20=20Chassis:=20laptop=20?= =?UTF-8?q?=F0=9F=92=BB=20=20=20=20=20=20=20Machine=20ID:=2006c3734070b740?= =?UTF-8?q?5e8db24a5b903dca16=20=20=20=20=20=20=20=20=20=20Boot=20ID:=20b2?= =?UTF-8?q?e5a6007c22474e8d912089ebb0ae65=20Operating=20System:=20Arch=20L?= =?UTF-8?q?inux=20=20=20=20=20=20=20=20=20=20=20Kernel:=20Linux=206.12.1-a?= =?UTF-8?q?rch1-1=20=20=20=20=20Architecture:=20x86-64=20=20Hardware=20Ven?= =?UTF-8?q?dor:=20Dell=20Inc.=20=20=20Hardware=20Model:=20Inspiron=205490?= =?UTF-8?q?=20Firmware=20Version:=201.9.0=20=20=20=20Firmware=20Date:=20We?= =?UTF-8?q?d=202020-06-17=20=20=20=20=20Firmware=20Age:=204y=206month=202w?= =?UTF-8?q?=202d=20=2015:26:51=20up=20=201:18,=20=201=20user,=20=20load=20?= =?UTF-8?q?average:=200.47,=200.31,=200.15?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nemu/include/rtl/pseudo.h | 2 + nemu/include/rtl/rtl.h | 80 +------------------------ nemu/include/rtl/rtl_.h | 49 +++++++++++++++ nemu/src/isa/x86/exec/all-instr.h | 1 + nemu/src/isa/x86/exec/exec.c | 1 - nemu/src/isa/x86/local-include/decode.h | 8 ++- nemu/src/isa/x86/local-include/rtl.h | 3 +- 7 files changed, 63 insertions(+), 81 deletions(-) create mode 100644 nemu/include/rtl/rtl_.h diff --git a/nemu/include/rtl/pseudo.h b/nemu/include/rtl/pseudo.h index 2d01fbfc..03b1695d 100644 --- a/nemu/include/rtl/pseudo.h +++ b/nemu/include/rtl/pseudo.h @@ -1,6 +1,8 @@ #ifndef __RTL_PSEUDO_H__ #define __RTL_PSEUDO_H__ +#include + #ifndef __RTL_RTL_H__ #error "Should be only included by " #endif diff --git a/nemu/include/rtl/rtl.h b/nemu/include/rtl/rtl.h index b5bfa78f..33cd9a4c 100644 --- a/nemu/include/rtl/rtl.h +++ b/nemu/include/rtl/rtl.h @@ -1,84 +1,8 @@ #ifndef __RTL_RTL_H__ #define __RTL_RTL_H__ -#include - -// id_src1 id_src2 id_dest are the address of the operand objs. -#define id_src1 (&s->src1) -#define id_src2 (&s->src2) -#define id_dest (&s->dest) - -#define dsrc1 (id_src1->preg) -#define dsrc2 (id_src2->preg) -#define ddest (id_dest->preg) -#define s0 (&s->tmp_reg[0]) -#define s1 (&s->tmp_reg[1]) -#define s2 (&s->tmp_reg[2]) -#define t0 (&s->tmp_reg[3]) - -extern const rtlreg_t rzero; -#define rz (&rzero) - -#define def_rtl(name, ...) void concat(rtl_, name)(DecodeExecState *s, __VA_ARGS__) - -void rtl_exit(int state, vaddr_t halt_pc, uint32_t halt_ret); - -// relation operation -enum { - // +-- unsign - // | +-- sign - // | | +-- equal - // | | | +-- invert - // | | | | - RELOP_FALSE = 0 | 0 | 0 | 0, - RELOP_TRUE = 0 | 0 | 0 | 1, - RELOP_EQ = 0 | 0 | 2 | 0, - RELOP_NE = 0 | 0 | 2 | 1, - - RELOP_LT = 0 | 4 | 0 | 0, - RELOP_LE = 0 | 4 | 2 | 0, - RELOP_GT = 0 | 4 | 2 | 1, - RELOP_GE = 0 | 4 | 0 | 1, - - RELOP_LTU = 8 | 0 | 0 | 0, - RELOP_LEU = 8 | 0 | 2 | 0, - RELOP_GTU = 8 | 0 | 2 | 1, - RELOP_GEU = 8 | 0 | 0 | 1, -}; - +#include #include -//#include -static inline def_rtl(li, rtlreg_t* dest, const rtlreg_t imm) { - rtl_addi(s, dest, rz, imm); -} - -static inline def_rtl(mv, rtlreg_t* dest, const rtlreg_t *src1) { - if (dest != src1) rtl_add(s, dest, src1, rz); -} - -static inline def_rtl(not, rtlreg_t *dest, const rtlreg_t* src1) { - // dest <- ~src1 - TODO(); -} - -static inline def_rtl(neg, rtlreg_t *dest, const rtlreg_t* src1) { - // dest <- -src1 - TODO(); -} - -static inline def_rtl(sext, rtlreg_t* dest, const rtlreg_t* src1, int width) { - // dest <- signext(src1[(width * 8 - 1) .. 0]) - TODO(); -} - -static inline def_rtl(zext, rtlreg_t* dest, const rtlreg_t* src1, int width) { - // dest <- zeroext(src1[(width * 8 - 1) .. 0]) - TODO(); -} - -static inline def_rtl(msb, rtlreg_t* dest, const rtlreg_t* src1, int width) { - // dest <- src1[width * 8 - 1] - TODO(); -} +#include #endif diff --git a/nemu/include/rtl/rtl_.h b/nemu/include/rtl/rtl_.h new file mode 100644 index 00000000..042250aa --- /dev/null +++ b/nemu/include/rtl/rtl_.h @@ -0,0 +1,49 @@ +#ifndef __RTL_RTL__H__ +#define __RTL_RTL__H__ + +#include +#include + +#define id_src1 (&s->src1) +#define id_src2 (&s->src2) +#define id_dest (&s->dest) + +#define dsrc1 (id_src1->preg) +#define dsrc2 (id_src2->preg) +#define ddest (id_dest->preg) +#define s0 (&s->tmp_reg[0]) +#define s1 (&s->tmp_reg[1]) +#define s2 (&s->tmp_reg[2]) +#define t0 (&s->tmp_reg[3]) + +extern const rtlreg_t rzero; +#define rz (&rzero) + +#define def_rtl(name, ...) void concat(rtl_, name)(DecodeExecState *s, __VA_ARGS__) + +void rtl_exit(int state, vaddr_t halt_pc, uint32_t halt_ret); + +// relation operation +enum { + // +-- unsign + // | +-- sign + // | | +-- equal + // | | | +-- invert + // | | | | + RELOP_FALSE = 0 | 0 | 0 | 0, + RELOP_TRUE = 0 | 0 | 0 | 1, + RELOP_EQ = 0 | 0 | 2 | 0, + RELOP_NE = 0 | 0 | 2 | 1, + + RELOP_LT = 0 | 4 | 0 | 0, + RELOP_LE = 0 | 4 | 2 | 0, + RELOP_GT = 0 | 4 | 2 | 1, + RELOP_GE = 0 | 4 | 0 | 1, + + RELOP_LTU = 8 | 0 | 0 | 0, + RELOP_LEU = 8 | 0 | 2 | 0, + RELOP_GTU = 8 | 0 | 2 | 1, + RELOP_GEU = 8 | 0 | 0 | 1, +}; + +#endif diff --git a/nemu/src/isa/x86/exec/all-instr.h b/nemu/src/isa/x86/exec/all-instr.h index 523bb909..6a2c39ec 100644 --- a/nemu/src/isa/x86/exec/all-instr.h +++ b/nemu/src/isa/x86/exec/all-instr.h @@ -1,4 +1,5 @@ #include "../local-include/rtl.h" +#include "../local-include/decode.h" #include "arith.h" #include "control.h" diff --git a/nemu/src/isa/x86/exec/exec.c b/nemu/src/isa/x86/exec/exec.c index 10c3750b..4e0bfcc7 100644 --- a/nemu/src/isa/x86/exec/exec.c +++ b/nemu/src/isa/x86/exec/exec.c @@ -1,5 +1,4 @@ #include -#include "../local-include/decode.h" #include "all-instr.h" static inline void set_width(DecodeExecState *s, int width) { diff --git a/nemu/src/isa/x86/local-include/decode.h b/nemu/src/isa/x86/local-include/decode.h index 17287135..bae7ff92 100644 --- a/nemu/src/isa/x86/local-include/decode.h +++ b/nemu/src/isa/x86/local-include/decode.h @@ -1,5 +1,9 @@ -#include +#ifndef _X86_DECODE_H__ +#define _X86_DECODE_H__ + #include "rtl.h" +#include +#include "rtl/pseudo.h" void read_ModR_M(DecodeExecState *s, Operand *rm, bool load_rm_val, Operand *reg, bool load_reg_val); @@ -296,3 +300,5 @@ static inline void operand_write(DecodeExecState *s, Operand *op, rtlreg_t* src) else if (op->type == OP_TYPE_MEM) { rtl_sm(s, s->isa.mbase, s->isa.moff, src, op->width); } else { assert(0); } } + +#endif diff --git a/nemu/src/isa/x86/local-include/rtl.h b/nemu/src/isa/x86/local-include/rtl.h index 45f9c893..42e964b3 100644 --- a/nemu/src/isa/x86/local-include/rtl.h +++ b/nemu/src/isa/x86/local-include/rtl.h @@ -1,8 +1,9 @@ #ifndef __X86_RTL_H__ #define __X86_RTL_H__ -#include #include "reg.h" +#include +#include /* RTL pseudo instructions */ From f1150c31e3501a6065e782d09bca79ffa3fbaf27 Mon Sep 17 00:00:00 2001 From: tracer-ics2020 Date: Thu, 2 Jan 2025 15:26:51 +0800 Subject: [PATCH 02/10] =?UTF-8?q?>=20=20run=20201402010101=20=20Static=20h?= =?UTF-8?q?ostname:=20can=20=20=20=20=20=20=20=20Icon=20name:=20computer-l?= =?UTF-8?q?aptop=20=20=20=20=20=20=20=20=20=20Chassis:=20laptop=20?= =?UTF-8?q?=F0=9F=92=BB=20=20=20=20=20=20=20Machine=20ID:=2006c3734070b740?= =?UTF-8?q?5e8db24a5b903dca16=20=20=20=20=20=20=20=20=20=20Boot=20ID:=20b2?= =?UTF-8?q?e5a6007c22474e8d912089ebb0ae65=20Operating=20System:=20Arch=20L?= =?UTF-8?q?inux=20=20=20=20=20=20=20=20=20=20=20Kernel:=20Linux=206.12.1-a?= =?UTF-8?q?rch1-1=20=20=20=20=20Architecture:=20x86-64=20=20Hardware=20Ven?= =?UTF-8?q?dor:=20Dell=20Inc.=20=20=20Hardware=20Model:=20Inspiron=205490?= =?UTF-8?q?=20Firmware=20Version:=201.9.0=20=20=20=20Firmware=20Date:=20We?= =?UTF-8?q?d=202020-06-17=20=20=20=20=20Firmware=20Age:=204y=206month=202w?= =?UTF-8?q?=202d=20=2015:26:51=20up=20=201:18,=20=201=20user,=20=20load=20?= =?UTF-8?q?average:=200.47,=200.31,=200.15?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From 8cf5521ce32f18a5b12aacf5e85e937ab4e02f4b Mon Sep 17 00:00:00 2001 From: tracer-ics2020 Date: Thu, 2 Jan 2025 15:34:56 +0800 Subject: [PATCH 03/10] =?UTF-8?q?>=20=20run=20201402010101=20=20Static=20h?= =?UTF-8?q?ostname:=20can=20=20=20=20=20=20=20=20Icon=20name:=20computer-l?= =?UTF-8?q?aptop=20=20=20=20=20=20=20=20=20=20Chassis:=20laptop=20?= =?UTF-8?q?=F0=9F=92=BB=20=20=20=20=20=20=20Machine=20ID:=2006c3734070b740?= =?UTF-8?q?5e8db24a5b903dca16=20=20=20=20=20=20=20=20=20=20Boot=20ID:=20b2?= =?UTF-8?q?e5a6007c22474e8d912089ebb0ae65=20Operating=20System:=20Arch=20L?= =?UTF-8?q?inux=20=20=20=20=20=20=20=20=20=20=20Kernel:=20Linux=206.12.1-a?= =?UTF-8?q?rch1-1=20=20=20=20=20Architecture:=20x86-64=20=20Hardware=20Ven?= =?UTF-8?q?dor:=20Dell=20Inc.=20=20=20Hardware=20Model:=20Inspiron=205490?= =?UTF-8?q?=20Firmware=20Version:=201.9.0=20=20=20=20Firmware=20Date:=20We?= =?UTF-8?q?d=202020-06-17=20=20=20=20=20Firmware=20Age:=204y=206month=202w?= =?UTF-8?q?=202d=20=2015:34:56=20up=20=201:26,=20=201=20user,=20=20load=20?= =?UTF-8?q?average:=200.00,=200.07,=200.09?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From d8418ad5bc70ea5990513ce259c5a3691c313888 Mon Sep 17 00:00:00 2001 From: tracer-ics2020 Date: Thu, 2 Jan 2025 15:37:00 +0800 Subject: [PATCH 04/10] =?UTF-8?q?>=20=20run=20201402010101=20=20Static=20h?= =?UTF-8?q?ostname:=20can=20=20=20=20=20=20=20=20Icon=20name:=20computer-l?= =?UTF-8?q?aptop=20=20=20=20=20=20=20=20=20=20Chassis:=20laptop=20?= =?UTF-8?q?=F0=9F=92=BB=20=20=20=20=20=20=20Machine=20ID:=2006c3734070b740?= =?UTF-8?q?5e8db24a5b903dca16=20=20=20=20=20=20=20=20=20=20Boot=20ID:=20b2?= =?UTF-8?q?e5a6007c22474e8d912089ebb0ae65=20Operating=20System:=20Arch=20L?= =?UTF-8?q?inux=20=20=20=20=20=20=20=20=20=20=20Kernel:=20Linux=206.12.1-a?= =?UTF-8?q?rch1-1=20=20=20=20=20Architecture:=20x86-64=20=20Hardware=20Ven?= =?UTF-8?q?dor:=20Dell=20Inc.=20=20=20Hardware=20Model:=20Inspiron=205490?= =?UTF-8?q?=20Firmware=20Version:=201.9.0=20=20=20=20Firmware=20Date:=20We?= =?UTF-8?q?d=202020-06-17=20=20=20=20=20Firmware=20Age:=204y=206month=202w?= =?UTF-8?q?=202d=20=2015:37:00=20up=20=201:28,=20=201=20user,=20=20load=20?= =?UTF-8?q?average:=200.14,=200.11,=200.09?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From 63ababd90f370c099ef3fce9c20ce96d95acbcee Mon Sep 17 00:00:00 2001 From: tracer-ics2020 Date: Thu, 2 Jan 2025 15:43:51 +0800 Subject: [PATCH 05/10] =?UTF-8?q?>=20=20run=20201402010101=20=20Static=20h?= =?UTF-8?q?ostname:=20can=20=20=20=20=20=20=20=20Icon=20name:=20computer-l?= =?UTF-8?q?aptop=20=20=20=20=20=20=20=20=20=20Chassis:=20laptop=20?= =?UTF-8?q?=F0=9F=92=BB=20=20=20=20=20=20=20Machine=20ID:=2006c3734070b740?= =?UTF-8?q?5e8db24a5b903dca16=20=20=20=20=20=20=20=20=20=20Boot=20ID:=20b2?= =?UTF-8?q?e5a6007c22474e8d912089ebb0ae65=20Operating=20System:=20Arch=20L?= =?UTF-8?q?inux=20=20=20=20=20=20=20=20=20=20=20Kernel:=20Linux=206.12.1-a?= =?UTF-8?q?rch1-1=20=20=20=20=20Architecture:=20x86-64=20=20Hardware=20Ven?= =?UTF-8?q?dor:=20Dell=20Inc.=20=20=20Hardware=20Model:=20Inspiron=205490?= =?UTF-8?q?=20Firmware=20Version:=201.9.0=20=20=20=20Firmware=20Date:=20We?= =?UTF-8?q?d=202020-06-17=20=20=20=20=20Firmware=20Age:=204y=206month=202w?= =?UTF-8?q?=202d=20=2015:43:51=20up=20=201:35,=20=201=20user,=20=20load=20?= =?UTF-8?q?average:=200.21,=200.14,=200.10?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nemu/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nemu/Makefile b/nemu/Makefile index a8bb52bb..2674e89c 100644 --- a/nemu/Makefile +++ b/nemu/Makefile @@ -100,7 +100,7 @@ GEN_EXPR_CMD := GEN_TEST_CASE := endif -$(BINARY): $(OBJS) +$(BINARY): $(OBJS) $(TEST_EXPR) $(call git_commit, "compile") @echo + LD $@ @$(LD) -O2 -rdynamic $(SO_LDLAGS) -o $@ $^ $(LD_LIBS) From bd2761d572df4875940969a3159c573c68306b3c Mon Sep 17 00:00:00 2001 From: tracer-ics2020 Date: Thu, 2 Jan 2025 15:49:42 +0800 Subject: [PATCH 06/10] =?UTF-8?q?>=20=20compile=20201402010101=20=20Static?= =?UTF-8?q?=20hostname:=20can=20=20=20=20=20=20=20=20Icon=20name:=20comput?= =?UTF-8?q?er-laptop=20=20=20=20=20=20=20=20=20=20Chassis:=20laptop=20?= =?UTF-8?q?=F0=9F=92=BB=20=20=20=20=20=20=20Machine=20ID:=2006c3734070b740?= =?UTF-8?q?5e8db24a5b903dca16=20=20=20=20=20=20=20=20=20=20Boot=20ID:=20b2?= =?UTF-8?q?e5a6007c22474e8d912089ebb0ae65=20Operating=20System:=20Arch=20L?= =?UTF-8?q?inux=20=20=20=20=20=20=20=20=20=20=20Kernel:=20Linux=206.12.1-a?= =?UTF-8?q?rch1-1=20=20=20=20=20Architecture:=20x86-64=20=20Hardware=20Ven?= =?UTF-8?q?dor:=20Dell=20Inc.=20=20=20Hardware=20Model:=20Inspiron=205490?= =?UTF-8?q?=20Firmware=20Version:=201.9.0=20=20=20=20Firmware=20Date:=20We?= =?UTF-8?q?d=202020-06-17=20=20=20=20=20Firmware=20Age:=204y=206month=202w?= =?UTF-8?q?=202d=20=2015:49:42=20up=20=201:41,=20=201=20user,=20=20load=20?= =?UTF-8?q?average:=200.14,=200.15,=200.11?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nemu/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nemu/Makefile b/nemu/Makefile index 2674e89c..f98275fc 100644 --- a/nemu/Makefile +++ b/nemu/Makefile @@ -100,7 +100,7 @@ GEN_EXPR_CMD := GEN_TEST_CASE := endif -$(BINARY): $(OBJS) $(TEST_EXPR) +$(BINARY): $(OBJS) $(EXPR_FLAG) $(call git_commit, "compile") @echo + LD $@ @$(LD) -O2 -rdynamic $(SO_LDLAGS) -o $@ $^ $(LD_LIBS) From d516f3ba23399e11342e620bbc3d2f176e09a86b Mon Sep 17 00:00:00 2001 From: tracer-ics2020 Date: Thu, 2 Jan 2025 15:49:42 +0800 Subject: [PATCH 07/10] =?UTF-8?q?>=20=20run=20201402010101=20=20Static=20h?= =?UTF-8?q?ostname:=20can=20=20=20=20=20=20=20=20Icon=20name:=20computer-l?= =?UTF-8?q?aptop=20=20=20=20=20=20=20=20=20=20Chassis:=20laptop=20?= =?UTF-8?q?=F0=9F=92=BB=20=20=20=20=20=20=20Machine=20ID:=2006c3734070b740?= =?UTF-8?q?5e8db24a5b903dca16=20=20=20=20=20=20=20=20=20=20Boot=20ID:=20b2?= =?UTF-8?q?e5a6007c22474e8d912089ebb0ae65=20Operating=20System:=20Arch=20L?= =?UTF-8?q?inux=20=20=20=20=20=20=20=20=20=20=20Kernel:=20Linux=206.12.1-a?= =?UTF-8?q?rch1-1=20=20=20=20=20Architecture:=20x86-64=20=20Hardware=20Ven?= =?UTF-8?q?dor:=20Dell=20Inc.=20=20=20Hardware=20Model:=20Inspiron=205490?= =?UTF-8?q?=20Firmware=20Version:=201.9.0=20=20=20=20Firmware=20Date:=20We?= =?UTF-8?q?d=202020-06-17=20=20=20=20=20Firmware=20Age:=204y=206month=202w?= =?UTF-8?q?=202d=20=2015:49:42=20up=20=201:41,=20=201=20user,=20=20load=20?= =?UTF-8?q?average:=200.14,=200.15,=200.11?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From 882a019b5576d9ca93c41879c5d7fd4fec558bf5 Mon Sep 17 00:00:00 2001 From: tracer-ics2020 Date: Thu, 2 Jan 2025 15:55:06 +0800 Subject: [PATCH 08/10] =?UTF-8?q?>=20=20run=20201402010101=20=20Static=20h?= =?UTF-8?q?ostname:=20can=20=20=20=20=20=20=20=20Icon=20name:=20computer-l?= =?UTF-8?q?aptop=20=20=20=20=20=20=20=20=20=20Chassis:=20laptop=20?= =?UTF-8?q?=F0=9F=92=BB=20=20=20=20=20=20=20Machine=20ID:=2006c3734070b740?= =?UTF-8?q?5e8db24a5b903dca16=20=20=20=20=20=20=20=20=20=20Boot=20ID:=20b2?= =?UTF-8?q?e5a6007c22474e8d912089ebb0ae65=20Operating=20System:=20Arch=20L?= =?UTF-8?q?inux=20=20=20=20=20=20=20=20=20=20=20Kernel:=20Linux=206.12.1-a?= =?UTF-8?q?rch1-1=20=20=20=20=20Architecture:=20x86-64=20=20Hardware=20Ven?= =?UTF-8?q?dor:=20Dell=20Inc.=20=20=20Hardware=20Model:=20Inspiron=205490?= =?UTF-8?q?=20Firmware=20Version:=201.9.0=20=20=20=20Firmware=20Date:=20We?= =?UTF-8?q?d=202020-06-17=20=20=20=20=20Firmware=20Age:=204y=206month=202w?= =?UTF-8?q?=202d=20=2015:55:06=20up=20=201:47,=20=201=20user,=20=20load=20?= =?UTF-8?q?average:=200.39,=200.24,=200.14?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From 8b69246f25f07995af4f73aee79000325febb9fe Mon Sep 17 00:00:00 2001 From: tracer-ics2020 Date: Thu, 2 Jan 2025 15:55:28 +0800 Subject: [PATCH 09/10] =?UTF-8?q?>=20=20run=20201402010101=20=20Static=20h?= =?UTF-8?q?ostname:=20can=20=20=20=20=20=20=20=20Icon=20name:=20computer-l?= =?UTF-8?q?aptop=20=20=20=20=20=20=20=20=20=20Chassis:=20laptop=20?= =?UTF-8?q?=F0=9F=92=BB=20=20=20=20=20=20=20Machine=20ID:=2006c3734070b740?= =?UTF-8?q?5e8db24a5b903dca16=20=20=20=20=20=20=20=20=20=20Boot=20ID:=20b2?= =?UTF-8?q?e5a6007c22474e8d912089ebb0ae65=20Operating=20System:=20Arch=20L?= =?UTF-8?q?inux=20=20=20=20=20=20=20=20=20=20=20Kernel:=20Linux=206.12.1-a?= =?UTF-8?q?rch1-1=20=20=20=20=20Architecture:=20x86-64=20=20Hardware=20Ven?= =?UTF-8?q?dor:=20Dell=20Inc.=20=20=20Hardware=20Model:=20Inspiron=205490?= =?UTF-8?q?=20Firmware=20Version:=201.9.0=20=20=20=20Firmware=20Date:=20We?= =?UTF-8?q?d=202020-06-17=20=20=20=20=20Firmware=20Age:=204y=206month=202w?= =?UTF-8?q?=202d=20=2015:55:28=20up=20=201:47,=20=201=20user,=20=20load=20?= =?UTF-8?q?average:=200.28,=200.23,=200.14?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From 8200a9a931e0f4bfdbc81a1dacb8dfd2311e0589 Mon Sep 17 00:00:00 2001 From: gaoyuankan Date: Thu, 2 Jan 2025 16:05:34 +0800 Subject: [PATCH 10/10] before starting pa2