forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-13 9d77db3c730780c8ef5ccd4b66403ff5675cfe4e
kernel/arch/sh/kernel/disassemble.c
....@@ -1,12 +1,9 @@
1
+// SPDX-License-Identifier: GPL-2.0
12 /*
23 * Disassemble SuperH instructions.
34 *
45 * Copyright (C) 1999 kaz Kojima
56 * Copyright (C) 2008 Paul Mundt
6
- *
7
- * This file is subject to the terms and conditions of the GNU General Public
8
- * License. See the file "COPYING" in the main directory of this archive
9
- * for more details.
107 */
118 #include <linux/kernel.h>
129 #include <linux/string.h>
....@@ -379,149 +376,148 @@
379376 }
380377
381378 ok:
382
- printk("%-8s ", op->name);
379
+ pr_cont("%-8s ", op->name);
383380 lastsp = (op->arg[0] == A_END);
384381 disp_pc = 0;
385382 for (n = 0; n < 6 && op->arg[n] != A_END; n++) {
386383 if (n && op->arg[1] != A_END)
387
- printk(", ");
384
+ pr_cont(", ");
388385 switch (op->arg[n]) {
389386 case A_IMM:
390
- printk("#%d", (char)(imm));
387
+ pr_cont("#%d", (char)(imm));
391388 break;
392389 case A_R0:
393
- printk("r0");
390
+ pr_cont("r0");
394391 break;
395392 case A_REG_N:
396
- printk("r%d", rn);
393
+ pr_cont("r%d", rn);
397394 break;
398395 case A_INC_N:
399
- printk("@r%d+", rn);
396
+ pr_cont("@r%d+", rn);
400397 break;
401398 case A_DEC_N:
402
- printk("@-r%d", rn);
399
+ pr_cont("@-r%d", rn);
403400 break;
404401 case A_IND_N:
405
- printk("@r%d", rn);
402
+ pr_cont("@r%d", rn);
406403 break;
407404 case A_DISP_REG_N:
408
- printk("@(%d,r%d)", imm, rn);
405
+ pr_cont("@(%d,r%d)", imm, rn);
409406 break;
410407 case A_REG_M:
411
- printk("r%d", rm);
408
+ pr_cont("r%d", rm);
412409 break;
413410 case A_INC_M:
414
- printk("@r%d+", rm);
411
+ pr_cont("@r%d+", rm);
415412 break;
416413 case A_DEC_M:
417
- printk("@-r%d", rm);
414
+ pr_cont("@-r%d", rm);
418415 break;
419416 case A_IND_M:
420
- printk("@r%d", rm);
417
+ pr_cont("@r%d", rm);
421418 break;
422419 case A_DISP_REG_M:
423
- printk("@(%d,r%d)", imm, rm);
420
+ pr_cont("@(%d,r%d)", imm, rm);
424421 break;
425422 case A_REG_B:
426
- printk("r%d_bank", rb);
423
+ pr_cont("r%d_bank", rb);
427424 break;
428425 case A_DISP_PC:
429426 disp_pc = 1;
430427 disp_pc_addr = imm + 4 + (memaddr & relmask);
431
- printk("%08x <%pS>", disp_pc_addr,
432
- (void *)disp_pc_addr);
428
+ pr_cont("%08x <%pS>", disp_pc_addr,
429
+ (void *)disp_pc_addr);
433430 break;
434431 case A_IND_R0_REG_N:
435
- printk("@(r0,r%d)", rn);
432
+ pr_cont("@(r0,r%d)", rn);
436433 break;
437434 case A_IND_R0_REG_M:
438
- printk("@(r0,r%d)", rm);
435
+ pr_cont("@(r0,r%d)", rm);
439436 break;
440437 case A_DISP_GBR:
441
- printk("@(%d,gbr)",imm);
438
+ pr_cont("@(%d,gbr)", imm);
442439 break;
443440 case A_R0_GBR:
444
- printk("@(r0,gbr)");
441
+ pr_cont("@(r0,gbr)");
445442 break;
446443 case A_BDISP12:
447444 case A_BDISP8:
448
- printk("%08x", imm + memaddr);
445
+ pr_cont("%08x", imm + memaddr);
449446 break;
450447 case A_SR:
451
- printk("sr");
448
+ pr_cont("sr");
452449 break;
453450 case A_GBR:
454
- printk("gbr");
451
+ pr_cont("gbr");
455452 break;
456453 case A_VBR:
457
- printk("vbr");
454
+ pr_cont("vbr");
458455 break;
459456 case A_SSR:
460
- printk("ssr");
457
+ pr_cont("ssr");
461458 break;
462459 case A_SPC:
463
- printk("spc");
460
+ pr_cont("spc");
464461 break;
465462 case A_MACH:
466
- printk("mach");
463
+ pr_cont("mach");
467464 break;
468465 case A_MACL:
469
- printk("macl");
466
+ pr_cont("macl");
470467 break;
471468 case A_PR:
472
- printk("pr");
469
+ pr_cont("pr");
473470 break;
474471 case A_SGR:
475
- printk("sgr");
472
+ pr_cont("sgr");
476473 break;
477474 case A_DBR:
478
- printk("dbr");
475
+ pr_cont("dbr");
479476 break;
480477 case FD_REG_N:
481
- if (0)
482
- goto d_reg_n;
483478 case F_REG_N:
484
- printk("fr%d", rn);
479
+ pr_cont("fr%d", rn);
485480 break;
486481 case F_REG_M:
487
- printk("fr%d", rm);
482
+ pr_cont("fr%d", rm);
488483 break;
489484 case DX_REG_N:
490485 if (rn & 1) {
491
- printk("xd%d", rn & ~1);
486
+ pr_cont("xd%d", rn & ~1);
492487 break;
493488 }
494
- d_reg_n:
489
+ fallthrough;
495490 case D_REG_N:
496
- printk("dr%d", rn);
491
+ pr_cont("dr%d", rn);
497492 break;
498493 case DX_REG_M:
499494 if (rm & 1) {
500
- printk("xd%d", rm & ~1);
495
+ pr_cont("xd%d", rm & ~1);
501496 break;
502497 }
498
+ fallthrough;
503499 case D_REG_M:
504
- printk("dr%d", rm);
500
+ pr_cont("dr%d", rm);
505501 break;
506502 case FPSCR_M:
507503 case FPSCR_N:
508
- printk("fpscr");
504
+ pr_cont("fpscr");
509505 break;
510506 case FPUL_M:
511507 case FPUL_N:
512
- printk("fpul");
508
+ pr_cont("fpul");
513509 break;
514510 case F_FR0:
515
- printk("fr0");
511
+ pr_cont("fr0");
516512 break;
517513 case V_REG_N:
518
- printk("fv%d", rn*4);
514
+ pr_cont("fv%d", rn*4);
519515 break;
520516 case V_REG_M:
521
- printk("fv%d", rm*4);
517
+ pr_cont("fv%d", rm*4);
522518 break;
523519 case XMTRX_M4:
524
- printk("xmtrx");
520
+ pr_cont("xmtrx");
525521 break;
526522 default:
527523 return;
....@@ -536,7 +532,7 @@
536532 else
537533 __get_user(val, (u32 *)disp_pc_addr);
538534
539
- printk(" ! %08x <%pS>", val, (void *)val);
535
+ pr_cont(" ! %08x <%pS>", val, (void *)val);
540536 }
541537
542538 return;
....@@ -545,7 +541,7 @@
545541
546542 }
547543
548
- printk(".word 0x%x%x%x%x", nibs[0], nibs[1], nibs[2], nibs[3]);
544
+ pr_info(".word 0x%x%x%x%x", nibs[0], nibs[1], nibs[2], nibs[3]);
549545 }
550546
551547 void show_code(struct pt_regs *regs)
....@@ -556,20 +552,21 @@
556552 if (regs->pc & 0x1)
557553 return;
558554
559
- printk("Code:\n");
555
+ pr_info("Code:\n");
560556
561557 for (i = -3 ; i < 6 ; i++) {
562558 unsigned short insn;
563559
564560 if (__get_user(insn, pc + i)) {
565
- printk(" (Bad address in pc)\n");
561
+ pr_err(" (Bad address in pc)\n");
566562 break;
567563 }
568564
569
- printk("%s%08lx: ", (i ? " ": "->"), (unsigned long)(pc + i));
565
+ pr_info("%s%08lx: ", (i ? " " : "->"),
566
+ (unsigned long)(pc + i));
570567 print_sh_insn((unsigned long)(pc + i), insn);
571
- printk("\n");
568
+ pr_cont("\n");
572569 }
573570
574
- printk("\n");
571
+ pr_info("\n");
575572 }