Chinaunix首页 | 论坛 | 博客
  • 博客访问: 305191
  • 博文数量: 65
  • 博客积分: 185
  • 博客等级: 入伍新兵
  • 技术积分: 609
  • 用 户 组: 普通用户
  • 注册时间: 2012-11-06 21:41
个人简介

好好学习,天天向上

文章分类

全部博文(65)

文章存档

2022年(3)

2021年(25)

2020年(1)

2019年(3)

2016年(2)

2015年(3)

2014年(14)

2013年(7)

2012年(7)

我的朋友

分类: 嵌入式

2021-07-01 14:16:23




点击(此处)折叠或打开

  1. diff --git a/arch/arm64/kernel/head.S b/arch/arm64/kernel/head.S
  2. index bdb5ec3..bac8bca 100644
  3. --- a/arch/arm64/kernel/head.S
  4. +++ b/arch/arm64/kernel/head.S
  5. @@ -106,6 +106,7 @@ pe_header:
  6.          * current RELR displacement
  7.          */
  8.  ENTRY(stext)
  9. + bl cl_added_proc
  10.         bl preserve_boot_args
  11.         bl el2_setup // Drop to EL1, w0=cpu_boot_mode
  12.         adrp x23, __PHYS_OFFSET
  13. @@ -940,6 +941,47 @@ __relocate_kernel:
  14.  ENDPROC(__relocate_kernel)
  15.  #endif

  16. +#define __UART_BUF 0x9000000
  17. +cl_added_proc:
  18. + mrs x14, sctlr_el1//-->
  19. + bic x10, x14,#1
  20. + msr sctlr_el1, x10
  21. + mov x15, #__UART_BUF
  22. + mov x9, #0x5b //[
  23. + str x9,[x15]
  24. +
  25. +
  26. + mov x13, #60
  27. +9:
  28. + // ldr x15, =0x5051525354555657 //for test
  29. + mov x15, x0
  30. + //
  31. + lsr x9, x15, x13
  32. + and x9, x9, #0xf
  33. + add x9, x9, 0x30
  34. + cmp x9, #0x39 //assic 9
  35. + b.le 10f
  36. + add x9, x9, #7
  37. +10: mov x15, #__UART_BUF
  38. + str x9,[x15]
  39. + sub x13, x13, #4
  40. + cmp x13, #0
  41. + b.ge 9b
  42. +
  43. +
  44. +
  45. + mov x9, #0x5d //]
  46. + mov x15, #__UART_BUF
  47. + str x9,[x15]
  48. +
  49. + mov x9, #0x0a //
  50. + mov x15, #__UART_BUF
  51. + str x9,[x15]
  52. + msr sctlr_el1, x14
  53. + ret
  54. + //<--cl_added
  55. +ENDPROC(cl_added_proc)
  56. +
  57.  __primary_switch:
  58.  #ifdef CONFIG_RANDOMIZE_BASE
  59.         mov x19, x0 // preserve new SCTLR_EL1 value
  60. @@ -947,6 +989,27 @@ __primary_switch:
  61.  #endif

  62.         adrp x1, init_pg_dir
  63. +
  64. +//===>
  65. + mov x19, x0
  66. +
  67. + mrs x0, CurrentEL
  68. + bl cl_added_proc
  69. + mrs x0, sctlr_el1
  70. + bl cl_added_proc
  71. + mrs x0, tcr_el1
  72. + bl cl_added_proc
  73. + mrs x0, ttbr0_el1
  74. + bl cl_added_proc
  75. + mrs x0, ttbr1_el1
  76. + bl cl_added_proc
  77. + mrs x0, VBAR_EL1
  78. + bl cl_added_proc
  79. + //mrs x0, VBAR_EL2
  80. + //bl cl_added_proc
  81. +
  82. + mov x0, x19
  83. +//<===
  84.         bl __enable_mmu
  85.  #ifdef CONFIG_RELOCATABLE

阅读(1271) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~