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

📄 cache.lst

📁 au1200下的boot代码
💻 LST
📖 第 1 页 / 共 3 页
字号:
GAS LISTING /tmp/cc4oHvAg.s 			page 1   1              		.section .mdebug.abi32   2              		.previous   3              		.section	.debug_abbrev,"",@progbits   4              	$Ldebug_abbrev0:   5              		.section	.debug_info,"",@progbits   6              	$Ldebug_info0:   7              		.section	.debug_line,"",@progbits   8              	$Ldebug_line0:   9 0000 E0000000 		.text   9      02009800    9      00000101    9      FB0E0A00    9      01010101   10              	$Ltext0:  11              		.section	.rodata.str1.4,"aMS",@progbits,1  12              		.align	2  13              	$LC0:  14 0000 25730A00 		.ascii	"%s\n\000"  15              		.align	2  16              	$LC1:  17 0004 44434143 		.ascii	"DCACHE\000"  17      484500  18 000b 00       		.align	2  19              	$LC7:  20 000c 4D525520 		.ascii	"MRU %d \000"  20      25642000   21              		.align	2  22              	$LC8:  23 0014 4E4D5255 		.ascii	"NMRU %d \000"  23      20256420   23      00  24 001d 000000   		.align	2  25              	$LC9:  26 0020 4C525520 		.ascii	"LRU %d \000"  26      25642000   27              		.align	2  28              	$LC12:  29 0028 0A00     		.ascii	"\n\000"  30 002a 0000     		.align	2  31              	$LC2:  32 002c 25303858 		.ascii	"%08X: \000"  32      3A2000  33 0033 00       		.align	2  34              	$LC3:  35 0034 57617920 		.ascii	"Way %d \000"  35      25642000   36              		.align	2  37              	$LC4:  38 003c 53657420 		.ascii	"Set %d \000"  38      25642000   39              		.align	2  40              	$LC5:  41 0044 5461673A 		.ascii	"Tag: %08X  \000"  41      20253038   41      58202000   42              		.align	2  43              	$LC6:GAS LISTING /tmp/cc4oHvAg.s 			page 2  44 0050 50412025 		.ascii	"PA %08X \000"  44      30385820   44      00  45 0059 000000   		.align	2  46              	$LC10:  47 005c 4C2000   		.ascii	"L \000"  48 005f 00       		.align	2  49              	$LC11:  50 0060 562000   		.ascii	"V \000"  51 0063 00       		.text  52              		.align	2  53              		.globl	cacheDump  54              		.ent	cacheDump  55              		.type	cacheDump, @function  56              	cacheDump:  57              	$LFB2:  58              		.file 1 "/mnt/hgfs/boot/booter/source/cache.c"   1:/mnt/hgfs/boot/booter/source/cache.c **** /*   2:/mnt/hgfs/boot/booter/source/cache.c ****  * Sample code to demonstrate CACHE manipulation   3:/mnt/hgfs/boot/booter/source/cache.c ****  */   4:/mnt/hgfs/boot/booter/source/cache.c **** #include "example.h"   5:/mnt/hgfs/boot/booter/source/cache.c ****    6:/mnt/hgfs/boot/booter/source/cache.c **** #define DCACHE   7:/mnt/hgfs/boot/booter/source/cache.c ****    8:/mnt/hgfs/boot/booter/source/cache.c **** #ifdef ICACHE   9:/mnt/hgfs/boot/booter/source/cache.c **** #define _CACHE "ICACHE"  10:/mnt/hgfs/boot/booter/source/cache.c **** #define COP "0x4"  11:/mnt/hgfs/boot/booter/source/cache.c **** #define TAG cp0RdITag  12:/mnt/hgfs/boot/booter/source/cache.c **** #define DATA cp0RdIData  13:/mnt/hgfs/boot/booter/source/cache.c **** #endif  14:/mnt/hgfs/boot/booter/source/cache.c ****   15:/mnt/hgfs/boot/booter/source/cache.c **** #ifdef DCACHE  16:/mnt/hgfs/boot/booter/source/cache.c **** #define _CACHE "DCACHE"  17:/mnt/hgfs/boot/booter/source/cache.c **** #define COP "0x5"  18:/mnt/hgfs/boot/booter/source/cache.c **** #define TAG cp0RdDTag  19:/mnt/hgfs/boot/booter/source/cache.c **** #define DATA cp0RdDData  20:/mnt/hgfs/boot/booter/source/cache.c **** #endif  21:/mnt/hgfs/boot/booter/source/cache.c ****   22:/mnt/hgfs/boot/booter/source/cache.c **** /********************************************************************/  23:/mnt/hgfs/boot/booter/source/cache.c **** void  24:/mnt/hgfs/boot/booter/source/cache.c **** cacheDump (void)  25:/mnt/hgfs/boot/booter/source/cache.c **** {  59              		.loc 1 25 0  60              		.frame	$sp,56,$31		# vars= 0, regs= 10/0, args= 16, gp= 0  61              		.mask	0xc0ff0000,-4  62              		.fmask	0x00000000,0  26:/mnt/hgfs/boot/booter/source/cache.c **** 	uint32 addr = 0x80000000;  27:/mnt/hgfs/boot/booter/source/cache.c **** 	int way, set, word;  28:/mnt/hgfs/boot/booter/source/cache.c **** 	uint32 tag;  29:/mnt/hgfs/boot/booter/source/cache.c ****   30:/mnt/hgfs/boot/booter/source/cache.c **** 	printf("%s\n", _CACHE);  63              		.loc 1 30 0  64 0000 0000043C 		lui	$4,%hi($LC0)  65 0004 0000053C 		lui	$5,%hi($LC1)  66              		.loc 1 25 0  67 0008 C8FFBD27 		addiu	$sp,$sp,-56  68              	$LCFI0:GAS LISTING /tmp/cc4oHvAg.s 			page 3  69              		.loc 1 30 0  70 000c 00008424 		addiu	$4,$4,%lo($LC0)  71 0010 0000A524 		addiu	$5,$5,%lo($LC1)  72              		.loc 1 25 0  73 0014 3000BEAF 		sw	$fp,48($sp)  74              	$LCFI1:  75 0018 2C00B7AF 		sw	$23,44($sp)  76              	$LCFI2:  77 001c 2800B6AF 		sw	$22,40($sp)  78              	$LCFI3:  79 0020 2400B5AF 		sw	$21,36($sp)  80              	$LCFI4:  81 0024 2000B4AF 		sw	$20,32($sp)  82              	$LCFI5:  83 0028 1C00B3AF 		sw	$19,28($sp)  84              	$LCFI6:  85 002c 3400BFAF 		sw	$31,52($sp)  86              	$LCFI7:  87 0030 1800B2AF 		sw	$18,24($sp)  88              	$LCFI8:  89 0034 1400B1AF 		sw	$17,20($sp)  90              	$LCFI9:  91 0038 1000B0AF 		sw	$16,16($sp)  92              	$LCFI10:  31:/mnt/hgfs/boot/booter/source/cache.c ****   32:/mnt/hgfs/boot/booter/source/cache.c **** 	for (set = 0; set < 128; ++set)  93              		.loc 1 32 0  94              		.loc 1 30 0  95              		.set	noreorder  96              		.set	nomacro  97 003c 0000000C 		jal	printf  98 0040 21980000 		move	$19,$0  99              		.set	macro 100              		.set	reorder 101              	 102 0044 00001E3C 		lui	$fp,%hi($LC7) 103 0048 0000173C 		lui	$23,%hi($LC8) 104 004c 0000163C 		lui	$22,%hi($LC9) 105 0050 0000143C 		lui	$20,%hi($LC12) 106 0054 0080153C 		li	$21,-2147483648			# 0xffffffff80000000  33:/mnt/hgfs/boot/booter/source/cache.c **** 	{  34:/mnt/hgfs/boot/booter/source/cache.c **** 		for (way = 0; way < 4; ++way) 107              		.loc 1 34 0 108 0058 21900000 		move	$18,$0 109              	$L21: 110 005c 40891300 		sll	$17,$19,5 111              	$LBB2:  35:/mnt/hgfs/boot/booter/source/cache.c **** 		{  36:/mnt/hgfs/boot/booter/source/cache.c **** 			addr = 0x80000000 + (way<<12) + (set<<5); 112              		.loc 1 36 0 113 0060 00831200 		sll	$16,$18,12 114              	$L20: 115 0064 21801102 		addu	$16,$16,$17 116 0068 21801502 		addu	$16,$16,$21  37:/mnt/hgfs/boot/booter/source/cache.c **** 			printf("%08X: ", addr); 117              		.loc 1 37 0 118 006c 0000023C 		lui	$2,%hi($LC2)GAS LISTING /tmp/cc4oHvAg.s 			page 4 119 0070 00004424 		addiu	$4,$2,%lo($LC2) 120              		.set	noreorder 121              		.set	nomacro 122 0074 0000000C 		jal	printf 123 0078 21280002 		move	$5,$16 124              		.set	macro 125              		.set	reorder 126              	  38:/mnt/hgfs/boot/booter/source/cache.c **** 			printf("Way %d ", (addr & 0x00003000) >> 12); 127              		.loc 1 38 0 128 007c 0000023C 		lui	$2,%hi($LC3) 129 0080 00300532 		andi	$5,$16,0x3000 130 0084 00004424 		addiu	$4,$2,%lo($LC3) 131              		.set	noreorder 132              		.set	nomacro 133 0088 0000000C 		jal	printf 134 008c 022B0500 		srl	$5,$5,12 135              		.set	macro 136              		.set	reorder 137              	  39:/mnt/hgfs/boot/booter/source/cache.c **** 			printf("Set %d ", (addr & 0x00000FE0) >> 5); 138              		.loc 1 39 0 139 0090 0000023C 		lui	$2,%hi($LC4) 140 0094 E00F0532 		andi	$5,$16,0xfe0 141 0098 42290500 		srl	$5,$5,5 142              		.set	noreorder 143              		.set	nomacro 144 009c 0000000C 		jal	printf 145 00a0 00004424 		addiu	$4,$2,%lo($LC4) 146              		.set	macro 147              		.set	reorder 148              	  40:/mnt/hgfs/boot/booter/source/cache.c ****   41:/mnt/hgfs/boot/booter/source/cache.c **** 			asm volatile (" cache "COP",0(%0)" : : "r" (addr) ); 149              		.loc 1 41 0 150              	#APP 151 00a4 000005BE 		 cache 0x5,0($16)  42:/mnt/hgfs/boot/booter/source/cache.c **** 			asm volatile (" nop"); 152              		.loc 1 42 0 153 00a8 00000000 		 nop  43:/mnt/hgfs/boot/booter/source/cache.c **** 			tag = TAG();  44:/mnt/hgfs/boot/booter/source/cache.c **** 			printf("Tag: %08X  ", tag);  45:/mnt/hgfs/boot/booter/source/cache.c **** 			printf("PA %08X ", (tag & 0xFFFFF000) | (set<<5)); 154              		.loc 1 45 0 155              	#NO_APP 156              		.loc 1 43 0 157              		.set	noreorder 158              		.set	nomacro 159 00ac 0000000C 		jal	cp0RdDTag 160 00b0 40891300 		sll	$17,$19,5 161              		.set	macro 162              		.set	reorder 163              	 164 00b4 21804000 		move	$16,$2 165              		.loc 1 44 0 166 00b8 0000023C 		lui	$2,%hi($LC5) 167 00bc 00004424 		addiu	$4,$2,%lo($LC5)GAS LISTING /tmp/cc4oHvAg.s 			page 5 168              		.set	noreorder 169              		.set	nomacro 170 00c0 0000000C 		jal	printf 171 00c4 21280002 		move	$5,$16 172              		.set	macro 173              		.set	reorder 174              	 175              		.loc 1 45 0 176 00c8 00F00524 		li	$5,-4096			# 0xfffffffffffff000 177 00cc 0000023C 		lui	$2,%hi($LC6) 178 00d0 24280502 		and	$5,$16,$5 179 00d4 00004424 		addiu	$4,$2,%lo($LC6) 180              		.set	noreorder 181              		.set	nomacro 182 00d8 0000000C 		jal	printf 183 00dc 2528B100 		or	$5,$5,$17 184              		.set	macro 185              		.set	reorder 186              	  46:/mnt/hgfs/boot/booter/source/cache.c **** 			printf("MRU %d ",  (tag & 0x00000C00) >> 10); 187              		.loc 1 46 0 188 00e0 000C0532 		andi	$5,$16,0xc00 189 00e4 822A0500 		srl	$5,$5,10 190              		.set	noreorder 191              		.set	nomacro 192 00e8 0000000C 		jal	printf 193 00ec 0000C427 		addiu	$4,$fp,%lo($LC7) 194              		.set	macro 195              		.set	reorder 196              	  47:/mnt/hgfs/boot/booter/source/cache.c **** 			printf("NMRU %d ", (tag & 0x00000300) >> 8); 197              		.loc 1 47 0 198 00f0 00030532 		andi	$5,$16,0x300 199 00f4 022A0500 		srl	$5,$5,8 200              		.set	noreorder 201              		.set	nomacro 202 00f8 0000000C 		jal	printf 203 00fc 0000E426 		addiu	$4,$23,%lo($LC8) 204              		.set	macro 205              		.set	reorder 206              	  48:/mnt/hgfs/boot/booter/source/cache.c **** 			printf("LRU %d ",  (tag & 0x000000C0) >> 6); 207              		.loc 1 48 0 208 0100 C0000532 		andi	$5,$16,0xc0 209 0104 0000C426 		addiu	$4,$22,%lo($LC9) 210              		.set	noreorder 211              		.set	nomacro 212 0108 0000000C 		jal	printf 213 010c 82290500 		srl	$5,$5,6 214              		.set	macro 215              		.set	reorder 216              	  49:/mnt/hgfs/boot/booter/source/cache.c **** 			if (tag & 0x02) printf("L "); 217              		.loc 1 49 0 218 0110 0000043C 		lui	$4,%hi($LC10) 219 0114 02000232 		andi	$2,$16,0x2 220              	$LBE2:GAS LISTING /tmp/cc4oHvAg.s 			page 6 221              		.loc 1 34 0 222 0118 01005226 		addiu	$18,$18,1 223              	$LBB3: 224              		.loc 1 49 0 225              		.set	noreorder 226              		.set	nomacro 227 011c 20004014 		bne	$2,$0,$L17 228 0120 00008424 		addiu	$4,$4,%lo($LC10) 229              		.set	macro 230              		.set	reorder 231              	  50:/mnt/hgfs/boot/booter/source/cache.c **** 			if (tag & 0x01) printf("V ");

⌨️ 快捷键说明

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