ax25-ae350.rst 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524
  1. .. SPDX-License-Identifier: GPL-2.0+
  2. AX25-AE350
  3. ==========
  4. AE350 is the mainline SoC produced by Andes Technology using AX25 CPU core
  5. base on RISC-V architecture.
  6. AE350 has integrated both AHB and APB bus and many periphals for application
  7. and product development.
  8. AX25-AE350 is the SoC with AE350 hardcore CPU.
  9. AX25 is Andes CPU IP to adopt RISC-V architecture.
  10. AX25 Features
  11. -------------
  12. CPU Core
  13. - 5-stage in-order execution pipeline
  14. - Hardware Multiplier
  15. - radix-2/radix-4/radix-16/radix-256/fast
  16. - Hardware Divider
  17. - Optional branch prediction
  18. - Machine mode and optional user mode
  19. - Optional performance monitoring
  20. ISA
  21. - RV64I base integer instructions
  22. - RVC for 16-bit compressed instructions
  23. - RVM for multiplication and division instructions
  24. Memory subsystem
  25. - I & D local memory
  26. - Size: 4KB to 16MB
  27. - Memory subsyetem soft-error protection
  28. - Protection scheme: parity-checking or error-checking-and-correction (ECC)
  29. - Automatic hardware error correction
  30. Bus
  31. - Interface Protocol
  32. - Synchronous AHB (32-bit/64-bit data-width), or
  33. - Synchronous AXI4 (64-bit data-width)
  34. Power management
  35. - Wait for interrupt (WFI) mode
  36. Debug
  37. - Configurable number of breakpoints: 2/4/8
  38. - External Debug Module
  39. - AHB slave port
  40. - External JTAG debug transport module
  41. Platform Level Interrupt Controller (PLIC)
  42. - AHB slave port
  43. - Configurable number of interrupts: 1-1023
  44. - Configurable number of interrupt priorities: 3/7/15/63/127/255
  45. - Configurable number of targets: 1-16
  46. - Preempted interrupt priority stack
  47. Build and boot steps
  48. --------------------
  49. Build:
  50. 1. Prepare the toolchains and make sure the $PATH to toolchains is correct.
  51. 2. Use `make ae350_rv[32|64]_defconfig` in u-boot root to build the image for
  52. 32 or 64 bit.
  53. Verification:
  54. 1. startup
  55. 2. relocation
  56. 3. timer driver
  57. 4. uart driver
  58. 5. mac driver
  59. 6. mmc driver
  60. 7. spi driver
  61. Steps
  62. -----
  63. 1. Ping a server by mac driver
  64. 2. Scan sd card and copy u-boot image which is booted from flash to ram by sd driver
  65. 3. Burn this u-boot image to spi rom by spi driver
  66. 4. Re-boot u-boot from spi flash with power off and power on
  67. Messages of U-Boot boot on AE350 board
  68. --------------------------------------
  69. .. code-block:: none
  70. U-Boot 2018.01-rc2-00033-g824f89a (Dec 21 2017 - 16:51:26 +0800)
  71. DRAM: 1 GiB
  72. MMC: mmc@f0e00000: 0
  73. SF: Detected mx25u1635e with page size 256 Bytes, erase size 4 KiB, total 2 MiB
  74. In: serial@f0300000
  75. Out: serial@f0300000
  76. Err: serial@f0300000
  77. Net:
  78. Warning: mac@e0100000 (eth0) using random MAC address - be:dd:d7:e4:e8:10
  79. eth0: mac@e0100000
  80. RISC-V # version
  81. U-Boot 2018.01-rc2-00033-gb265b91-dirty (Dec 22 2017 - 13:54:21 +0800)
  82. riscv32-unknown-linux-gnu-gcc (GCC) 7.2.0
  83. GNU ld (GNU Binutils) 2.29
  84. RISC-V # setenv ipaddr 10.0.4.200 ;
  85. RISC-V # setenv serverip 10.0.4.97 ;
  86. RISC-V # ping 10.0.4.97 ;
  87. Using mac@e0100000 device
  88. host 10.0.4.97 is alive
  89. RISC-V # mmc rescan
  90. RISC-V # fatls mmc 0:1
  91. 318907 u-boot-ae350-64.bin
  92. 1252 hello_world_ae350_32.bin
  93. 328787 u-boot-ae350-32.bin
  94. 3 file(s), 0 dir(s)
  95. RISC-V # sf probe 0:0 50000000 0
  96. SF: Detected mx25u1635e with page size 256 Bytes, erase size 4 KiB, total 2 MiB
  97. RISC-V # sf test 0x100000 0x1000
  98. SPI flash test:
  99. 0 erase: 36 ticks, 111 KiB/s 0.888 Mbps
  100. 1 check: 29 ticks, 137 KiB/s 1.096 Mbps
  101. 2 write: 40 ticks, 100 KiB/s 0.800 Mbps
  102. 3 read: 20 ticks, 200 KiB/s 1.600 Mbps
  103. Test passed
  104. 0 erase: 36 ticks, 111 KiB/s 0.888 Mbps
  105. 1 check: 29 ticks, 137 KiB/s 1.096 Mbps
  106. 2 write: 40 ticks, 100 KiB/s 0.800 Mbps
  107. 3 read: 20 ticks, 200 KiB/s 1.600 Mbps
  108. RISC-V # fatload mmc 0:1 0x600000 u-boot-ae350-32.bin
  109. reading u-boot-ae350-32.bin
  110. 328787 bytes read in 324 ms (990.2 KiB/s)
  111. RISC-V # sf erase 0x0 0x51000
  112. SF: 331776 bytes @ 0x0 Erased: OK
  113. RISC-V # sf write 0x600000 0x0 0x50453
  114. device 0 offset 0x0, size 0x50453
  115. SF: 328787 bytes @ 0x0 Written: OK
  116. RISC-V # crc32 0x600000 0x50453
  117. crc32 for 00600000 ... 00650452 ==> 692dc44a
  118. RISC-V # crc32 0x80000000 0x50453
  119. crc32 for 80000000 ... 80050452 ==> 692dc44a
  120. RISC-V #
  121. *** power-off and power-on, this U-Boot is booted from spi flash ***
  122. U-Boot 2018.01-rc2-00032-gf67dd47-dirty (Dec 21 2017 - 13:56:03 +0800)
  123. DRAM: 1 GiB
  124. MMC: mmc@f0e00000: 0
  125. SF: Detected mx25u1635e with page size 256 Bytes, erase size 4 KiB, total 2 MiB
  126. In: serial@f0300000
  127. Out: serial@f0300000
  128. Err: serial@f0300000
  129. Net:
  130. Warning: mac@e0100000 (eth0) using random MAC address - ee:4c:58:29:32:f5
  131. eth0: mac@e0100000
  132. RISC-V #
  133. Boot bbl and riscv-linux via U-Boot on QEMU
  134. -------------------------------------------
  135. 1. Build riscv-linux
  136. 2. Build bbl and riscv-linux with --with-payload
  137. 3. Prepare ae350.dtb
  138. 4. Creating OS-kernel images
  139. .. code-block:: none
  140. ./mkimage -A riscv -O linux -T kernel -C none -a 0x0000 -e 0x0000 -d bbl.bin bootmImage-bbl.bin
  141. Image Name:
  142. Created: Tue Mar 13 10:06:42 2018
  143. Image Type: RISC-V Linux Kernel Image (uncompressed)
  144. Data Size: 17901204 Bytes = 17481.64 KiB = 17.07 MiB
  145. Load Address: 00000000
  146. Entry Point: 00000000
  147. 5. Copy bootmImage-bbl.bin and ae350.dtb to qemu sd card image
  148. 6. Message of booting riscv-linux from bbl via u-boot on qemu
  149. .. code-block:: none
  150. U-Boot 2018.03-rc4-00031-g2631273 (Mar 13 2018 - 15:02:55 +0800)
  151. DRAM: 1 GiB
  152. main-loop: WARNING: I/O thread spun for 1000 iterations
  153. MMC: mmc@f0e00000: 0
  154. Loading Environment from SPI Flash... *** Warning - spi_flash_probe_bus_cs() failed, using default environment
  155. Failed (-22)
  156. In: serial@f0300000
  157. Out: serial@f0300000
  158. Err: serial@f0300000
  159. Net:
  160. Warning: mac@e0100000 (eth0) using random MAC address - 02:00:00:00:00:00
  161. eth0: mac@e0100000
  162. RISC-V # mmc rescan
  163. RISC-V # mmc part
  164. Partition Map for MMC device 0 -- Partition Type: DOS
  165. Part Start Sector Num Sectors UUID Type
  166. RISC-V # fatls mmc 0:0
  167. 17901268 bootmImage-bbl.bin
  168. 1954 ae2xx.dtb
  169. 2 file(s), 0 dir(s)
  170. RISC-V # fatload mmc 0:0 0x00600000 bootmImage-bbl.bin
  171. 17901268 bytes read in 4642 ms (3.7 MiB/s)
  172. RISC-V # fatload mmc 0:0 0x2000000 ae350.dtb
  173. 1954 bytes read in 1 ms (1.9 MiB/s)
  174. RISC-V # setenv bootm_size 0x2000000
  175. RISC-V # setenv fdt_high 0x1f00000
  176. RISC-V # bootm 0x00600000 - 0x2000000
  177. ## Booting kernel from Legacy Image at 00600000 ...
  178. Image Name:
  179. Image Type: RISC-V Linux Kernel Image (uncompressed)
  180. Data Size: 17901204 Bytes = 17.1 MiB
  181. Load Address: 00000000
  182. Entry Point: 00000000
  183. Verifying Checksum ... OK
  184. ## Flattened Device Tree blob at 02000000
  185. Booting using the fdt blob at 0x2000000
  186. Loading Kernel Image ... OK
  187. Loading Device Tree to 0000000001efc000, end 0000000001eff7a1 ... OK
  188. [ 0.000000] OF: fdt: Ignoring memory range 0x0 - 0x200000
  189. [ 0.000000] Linux version 4.14.0-00046-gf3e439f-dirty (rick@atcsqa06) (gcc version 7.1.1 20170509 (GCC)) #1 Tue Jan 9 16:34:25 CST 2018
  190. [ 0.000000] bootconsole [early0] enabled
  191. [ 0.000000] Initial ramdisk at: 0xffffffe000016a98 (12267008 bytes)
  192. [ 0.000000] Zone ranges:
  193. [ 0.000000] DMA [mem 0x0000000000200000-0x000000007fffffff]
  194. [ 0.000000] Normal empty
  195. [ 0.000000] Movable zone start for each node
  196. [ 0.000000] Early memory node ranges
  197. [ 0.000000] node 0: [mem 0x0000000000200000-0x000000007fffffff]
  198. [ 0.000000] Initmem setup node 0 [mem 0x0000000000200000-0x000000007fffffff]
  199. [ 0.000000] elf_hwcap is 0x112d
  200. [ 0.000000] random: fast init done
  201. [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 516615
  202. [ 0.000000] Kernel command line: console=ttyS0,38400n8 earlyprintk=uart8250-32bit,0xf0300000 debug loglevel=7
  203. [ 0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
  204. [ 0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes)
  205. [ 0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
  206. [ 0.000000] Sorting __ex_table...
  207. [ 0.000000] Memory: 2047832K/2095104K available (1856K kernel code, 204K rwdata, 532K rodata, 12076K init, 756K bss, 47272K reserved, 0K cma-reserved)
  208. [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
  209. [ 0.000000] NR_IRQS: 0, nr_irqs: 0, preallocated irqs: 0
  210. [ 0.000000] riscv,cpu_intc,0: 64 local interrupts mapped
  211. [ 0.000000] riscv,plic0,e4000000: mapped 31 interrupts to 1/2 handlers
  212. [ 0.000000] clocksource: riscv_clocksource: mask: 0xffffffffffffffff max_cycles: 0x24e6a1710, max_idle_ns: 440795202120 ns
  213. [ 0.000000] Calibrating delay loop (skipped), value calculated using timer frequency.. 20.00 BogoMIPS (lpj=40000)
  214. [ 0.000000] pid_max: default: 32768 minimum: 301
  215. [ 0.004000] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes)
  216. [ 0.004000] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes)
  217. [ 0.056000] devtmpfs: initialized
  218. [ 0.060000] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
  219. [ 0.064000] futex hash table entries: 256 (order: 0, 6144 bytes)
  220. [ 0.068000] NET: Registered protocol family 16
  221. [ 0.080000] vgaarb: loaded
  222. [ 0.084000] clocksource: Switched to clocksource riscv_clocksource
  223. [ 0.088000] NET: Registered protocol family 2
  224. [ 0.092000] TCP established hash table entries: 16384 (order: 5, 131072 bytes)
  225. [ 0.096000] TCP bind hash table entries: 16384 (order: 5, 131072 bytes)
  226. [ 0.096000] TCP: Hash tables configured (established 16384 bind 16384)
  227. [ 0.100000] UDP hash table entries: 1024 (order: 3, 32768 bytes)
  228. [ 0.100000] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes)
  229. [ 0.104000] NET: Registered protocol family 1
  230. [ 0.616000] Unpacking initramfs...
  231. [ 1.220000] workingset: timestamp_bits=62 max_order=19 bucket_order=0
  232. [ 1.244000] io scheduler noop registered
  233. [ 1.244000] io scheduler cfq registered (default)
  234. [ 1.244000] io scheduler mq-deadline registered
  235. [ 1.248000] io scheduler kyber registered
  236. [ 1.360000] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
  237. [ 1.368000] console [ttyS0] disabled
  238. [ 1.372000] f0300000.serial: ttyS0 at MMIO 0xf0300020 (irq = 10, base_baud = 1228800) is a 16550A
  239. [ 1.392000] console [ttyS0] enabled
  240. [ 1.392000] ftmac100: Loading version 0.2 ...
  241. [ 1.396000] ftmac100 e0100000.mac eth0: irq 8, mapped at ffffffd002005000
  242. [ 1.400000] ftmac100 e0100000.mac eth0: generated random MAC address 6e:ac:c3:92:36:c0
  243. [ 1.404000] IR NEC protocol handler initialized
  244. [ 1.404000] IR RC5(x/sz) protocol handler initialized
  245. [ 1.404000] IR RC6 protocol handler initialized
  246. [ 1.404000] IR JVC protocol handler initialized
  247. [ 1.408000] IR Sony protocol handler initialized
  248. [ 1.408000] IR SANYO protocol handler initialized
  249. [ 1.408000] IR Sharp protocol handler initialized
  250. [ 1.408000] IR MCE Keyboard/mouse protocol handler initialized
  251. [ 1.412000] IR XMP protocol handler initialized
  252. [ 1.456000] ftsdc010 f0e00000.mmc: mmc0 - using hw SDIO IRQ
  253. [ 1.464000] bootconsole [early0] uses init memory and must be disabled even before the real one is ready
  254. [ 1.464000] bootconsole [early0] disabled
  255. [ 1.508000] Freeing unused kernel memory: 12076K
  256. [ 1.512000] This architecture does not have kernel memory protection.
  257. [ 1.520000] mmc0: new SD card at address 4567
  258. [ 1.524000] mmcblk0: mmc0:4567 QEMU! 20.0 MiB
  259. [ 1.844000] mmcblk0:
  260. Wed Dec 1 10:00:00 CST 2010
  261. / #
  262. Running U-Boot SPL
  263. ------------------
  264. The U-Boot SPL will boot in M mode and load the FIT image which include
  265. OpenSBI and U-Boot proper images. After loading progress, it will jump
  266. to OpenSBI first and then U-Boot proper which will run in S mode.
  267. How to build U-Boot SPL
  268. -----------------------
  269. Before building U-Boot SPL, OpenSBI must be build first. OpenSBI can be
  270. cloned and build for AE350 as below:
  271. .. code-block:: none
  272. git clone https://github.com/riscv/opensbi.git
  273. cd opensbi
  274. make PLATFORM=andes/ae350
  275. Copy OpenSBI FW_DYNAMIC image (build/platform/andes/ae350/firmware/fw_dynamic.bin)
  276. into U-Boot root directory
  277. How to build U-Boot SPL booting from RAM
  278. ----------------------------------------
  279. With ae350_rv[32|64]_spl_defconfigs:
  280. U-Boot SPL will be loaded by gdb or FSBL and runs in RAM in machine mode
  281. and then load FIT image from RAM device on AE350.
  282. How to build U-Boot SPL booting from ROM
  283. ----------------------------------------
  284. With ae350_rv[32|64]_spl_xip_defconfigs:
  285. U-Boot SPL can be burned into SPI flash and run in flash in machine mode
  286. and then load FIT image from SPI flash or MMC device on AE350.
  287. Messages of U-Boot SPL boots Kernel on AE350 board
  288. --------------------------------------------------
  289. .. code-block:: none
  290. U-Boot SPL 2020.01-rc1-00292-g67a3313-dirty (Nov 14 2019 - 11:26:21 +0800)
  291. Trying to boot from RAM
  292. OpenSBI v0.5-1-gdd8ef28 (Nov 14 2019 11:08:39)
  293. ____ _____ ____ _____
  294. / __ \ / ____| _ \_ _|
  295. | | | |_ __ ___ _ __ | (___ | |_) || |
  296. | | | | '_ \ / _ \ '_ \ \___ \| _ < | |
  297. | |__| | |_) | __/ | | |____) | |_) || |_
  298. \____/| .__/ \___|_| |_|_____/|____/_____|
  299. | |
  300. |_|
  301. Platform Name : Andes AE350
  302. Platform HART Features : RV64ACIMSUX
  303. Platform Max HARTs : 4
  304. Current Hart : 0
  305. Firmware Base : 0x0
  306. Firmware Size : 84 KB
  307. Runtime SBI Version : 0.2
  308. PMP0: 0x0000000000000000-0x000000000001ffff (A)
  309. PMP1: 0x0000000000000000-0x00000001ffffffff (A,R,W,X)
  310. U-Boot 2020.01-rc1-00292-g67a3313-dirty (Nov 14 2019 - 11:26:21 +0800)
  311. DRAM: 1 GiB
  312. Flash: 64 MiB
  313. MMC: mmc@f0e00000: 0
  314. Loading Environment from SPI Flash... SF: Detected mx25u1635e with page size 256 Bytes, erase size 4 KiB, total 2 MiB
  315. OK
  316. In: serial@f0300000
  317. Out: serial@f0300000
  318. Err: serial@f0300000
  319. Net: no alias for ethernet0
  320. Warning: mac@e0100000 (eth0) using random MAC address - a2:ae:93:7b:cc:8f
  321. eth0: mac@e0100000
  322. Hit any key to stop autoboot: 0
  323. 6455 bytes read in 31 ms (203.1 KiB/s)
  324. 20421684 bytes read in 8647 ms (2.3 MiB/s)
  325. ## Booting kernel from Legacy Image at 00600000 ...
  326. Image Name:
  327. Image Type: RISC-V Linux Kernel Image (uncompressed)
  328. Data Size: 20421620 Bytes = 19.5 MiB
  329. Load Address: 00200000
  330. Entry Point: 00200000
  331. Verifying Checksum ... OK
  332. ## Flattened Device Tree blob at 20000000
  333. Booting using the fdt blob at 0x20000000
  334. Loading Kernel Image
  335. Loading Device Tree to 000000001effb000, end 000000001efff936 ... OK
  336. Starting kernel ...
  337. OF: fdt: Ignoring memory range 0x0 - 0x200000
  338. Linux version 4.17.0-00253-g49136e10bcb2 (sqa@atcsqa07) (gcc version 7.3.0 (2019-04-06_nds64le-linux-glibc-v5_experimental)) #1 SMP PREEMPT Sat Apr 6 23:41:49 CST 2019
  339. bootconsole [early0] enabled
  340. Initial ramdisk at: 0x (ptrval) (13665712 bytes)
  341. Zone ranges:
  342. DMA32 [mem 0x0000000000200000-0x000000003fffffff]
  343. Normal empty
  344. Movable zone start for each node
  345. Early memory node ranges
  346. node 0: [mem 0x0000000000200000-0x000000003fffffff]
  347. Initmem setup node 0 [mem 0x0000000000200000-0x000000003fffffff]
  348. software IO TLB [mem 0x3b1f8000-0x3f1f8000] (64MB) mapped at [ (ptrval)- (ptrval)]
  349. elf_platform is rv64i2p0m2p0a2p0c2p0xv5-0p0
  350. compatible privileged spec version 1.10
  351. percpu: Embedded 16 pages/cpu @ (ptrval) s28184 r8192 d29160 u65536
  352. Built 1 zonelists, mobility grouping on. Total pages: 258055
  353. Kernel command line: console=ttyS0,38400n8 debug loglevel=7
  354. log_buf_len individual max cpu contribution: 4096 bytes
  355. log_buf_len total cpu_extra contributions: 12288 bytes
  356. log_buf_len min size: 16384 bytes
  357. log_buf_len: 32768 bytes
  358. early log buf free: 14608(89%)
  359. Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes)
  360. Inode-cache hash table entries: 65536 (order: 7, 524288 bytes)
  361. Sorting __ex_table...
  362. Memory: 944428K/1046528K available (3979K kernel code, 246K rwdata, 1490K rodata, 13523K init, 688K bss, 102100K reserved, 0K cma-reserved)
  363. SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
  364. Preemptible hierarchical RCU implementation.
  365. Tasks RCU enabled.
  366. NR_IRQS: 72, nr_irqs: 72, preallocated irqs: 0
  367. riscv,cpu_intc,0: 64 local interrupts mapped
  368. riscv,cpu_intc,1: 64 local interrupts mapped
  369. riscv,cpu_intc,2: 64 local interrupts mapped
  370. riscv,cpu_intc,3: 64 local interrupts mapped
  371. riscv,plic0,e4000000: mapped 71 interrupts to 8/8 handlers
  372. clocksource: riscv_clocksource: mask: 0xffffffffffffffff max_cycles: 0x1bacf917bf, max_idle_ns: 881590412290 ns
  373. sched_clock: 64 bits at 60MHz, resolution 16ns, wraps every 4398046511098ns
  374. Console: colour dummy device 40x30
  375. Calibrating delay loop (skipped), value calculated using timer frequency.. 120.00 BogoMIPS (lpj=600000)
  376. pid_max: default: 32768 minimum: 301
  377. Mount-cache hash table entries: 2048 (order: 2, 16384 bytes)
  378. Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes)
  379. Hierarchical SRCU implementation.
  380. smp: Bringing up secondary CPUs ...
  381. CPU0: online
  382. CPU2: online
  383. CPU3: online
  384. smp: Brought up 1 node, 4 CPUs
  385. devtmpfs: initialized
  386. random: get_random_u32 called from bucket_table_alloc+0x198/0x1d8 with crng_init=0
  387. clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
  388. futex hash table entries: 1024 (order: 4, 65536 bytes)
  389. NET: Registered protocol family 16
  390. Advanced Linux Sound Architecture Driver Initialized.
  391. clocksource: Switched to clocksource riscv_clocksource
  392. NET: Registered protocol family 2
  393. tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes)
  394. TCP established hash table entries: 8192 (order: 4, 65536 bytes)
  395. TCP bind hash table entries: 8192 (order: 5, 131072 bytes)
  396. TCP: Hash tables configured (established 8192 bind 8192)
  397. UDP hash table entries: 512 (order: 2, 16384 bytes)
  398. UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
  399. NET: Registered protocol family 1
  400. RPC: Registered named UNIX socket transport module.
  401. RPC: Registered udp transport module.
  402. RPC: Registered tcp transport module.
  403. RPC: Registered tcp NFSv4.1 backchannel transport module.
  404. Unpacking initramfs...
  405. workingset: timestamp_bits=62 max_order=18 bucket_order=0
  406. NFS: Registering the id_resolver key type
  407. Key type id_resolver registered
  408. Key type id_legacy registered
  409. nfs4filelayout_init: NFSv4 File Layout Driver Registering...
  410. io scheduler noop registered
  411. io scheduler cfq registered (default)
  412. io scheduler mq-deadline registered
  413. io scheduler kyber registered
  414. Console: switching to colour frame buffer device 40x30
  415. Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
  416. console [ttyS0] disabled
  417. f0300000.serial: ttyS0 at MMIO 0xf0300020 (irq = 20, base_baud = 1228800) is a 16550A
  418. console [ttyS0] enabled
  419. console [ttyS0] enabled
  420. bootconsole [early0] disabled
  421. bootconsole [early0] disabled
  422. loop: module loaded
  423. tun: Universal TUN/TAP device driver, 1.6
  424. ftmac100: Loading version 0.2 ...
  425. ftmac100 e0100000.mac eth0: irq 21, mapped at (ptrval)
  426. ftmac100 e0100000.mac eth0: generated random MAC address 4e:fd:bd:f3:04:fc
  427. ftsdc010 f0e00000.mmc: mmc0 - using hw SDIO IRQ
  428. mmc0: new SDHC card at address d555
  429. ftssp010 card registered!
  430. mmcblk0: mmc0:d555 SD04G 3.79 GiB
  431. NET: Registered protocol family 10
  432. mmcblk0: p1
  433. Segment Routing with IPv6
  434. sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
  435. NET: Registered protocol family 17
  436. NET: Registered protocol family 15
  437. ALSA device list:
  438. #0: ftssp_ac97 controller
  439. Freeing unused kernel memory: 13520K
  440. This architecture does not have kernel memory protection.
  441. Sysinit starting
  442. Sat Apr 6 23:33:53 CST 2019
  443. nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
  444. ~ #