{"id":36076,"date":"2019-10-31T22:09:28","date_gmt":"2019-10-31T19:09:28","guid":{"rendered":"https:\/\/prohoster.info\/blog\/chast-4-vsyo-taki-zapuskaem-linux-na-rocketchip-risc-v\/"},"modified":"2020-12-17T01:07:57","modified_gmt":"2020-12-16T23:07:57","slug":"chast-4-vsyo-taki-zapuskaem-linux-na-rocketchip-risc-v","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/chast-4-vsyo-taki-zapuskaem-linux-na-rocketchip-risc-v","title":{"rendered":"Pjesa 4: Fundja, ngarkojm\u00eb Linux n\u00eb RocketChip RISC-V","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"\u0427\u0430\u0441\u0442\u044c 4: \u0412\u0441\u0451-\u0442\u0430\u043a\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c Linux \u043d\u0430 RocketChip RISC-V\" src=\"\/wp-content\/uploads\/2019\/07\/b5f50425a913988c91422a58a5eba066.jpg\" style=\"display:block;margin: 0 auto;\"> <em>\u041d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435 Linux kernel \u0448\u043b\u0451\u0442 \u0432\u0430\u043c \u043f\u0440\u0438\u0432\u0435\u0442 \u0447\u0435\u0440\u0435\u0437 GPIO.<\/em><\/p>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u0441 \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c RISC-V RocketChip \u043d\u0430 \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u0443\u044e \u043f\u043b\u0430\u0442\u0443 \u0441 Cyclone IV \u043c\u044b \u0432\u0441\u0451-\u0442\u0430\u043a\u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c Linux, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043d\u0430\u0443\u0447\u0438\u043c\u0441\u044f \u0441\u0430\u043c\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c IP Core \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u0447\u0443\u0442\u044c \u043f\u043e\u0434\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c dts-\u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u0443\u0440\u044b. \u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435\u043c <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/458482\/\">\u0442\u0440\u0435\u0442\u044c\u0435\u0439 \u0447\u0430\u0441\u0442\u0438<\/a><\/noindex>, \u043d\u043e, \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u0438\u0437\u0440\u044f\u0434\u043d\u043e \u0440\u0430\u0437\u0440\u043e\u0441\u0448\u0435\u0439\u0441\u044f \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439, \u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043a\u043e\u0440\u043e\u0442\u043a\u043e\u0439.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>\u2026 \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 <code>setup_smp<\/code> \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u044f\u0434\u0440\u043e \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 SMP, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043c\u043d\u043e\u0433\u043e\u044f\u0434\u0435\u0440\u043d\u043e\u0441\u0442\u044c. \u0411\u0443\u0434\u0435\u0442 \u043d\u0435\u043f\u0440\u0438\u044f\u0442\u043d\u043e, \u0435\u0441\u043b\u0438 \u043c\u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0435\u0449\u0451 \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0432 \u043c\u043e\u0434\u0443\u043b\u0435 \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0430\u0442\u043e\u043c\u0430\u0440\u043d\u043e\u0441\u0442\u0438 (\u043c\u043d\u0435 \u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0441 \u044d\u0442\u0438\u043c \u043a\u0435\u0448 \u0432\u043e\u0437\u0438\u0442\u0441\u044f \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e), \u043d\u043e \u0432 \u043e\u0434\u043d\u043e\u044f\u0434\u0435\u0440\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u043d\u043e \u043d\u0430\u043c \u043f\u043e\u043c\u0435\u0448\u0430\u0442\u044c \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e.<\/p>\n<p><b class=\"spoiler_title\">\u0412\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043d\u0435 \u0432\u0437\u043b\u0435\u0442\u0435\u043b\u043e&#8230;<\/b><\/p>\n<pre><code class=\"plaintext\">[    0.000000] OF: fdt: Ignoring memory range 0x80000000 - 0x80200000\n[    0.000000] Linux version 4.19.0-sifive-1+ (trosinenko@trosinenko-pc) (gcc version 8.3.0 (Buildroot 2019.02-07449-g4eddd28f99)) #1 Thu Jul 4 18:38:10 MSK 2019\n[    0.000000] bootconsole [early0] enabled\n[    0.000000] Initial ramdisk at: 0x(____ptrval____) (16777216 bytes)\n[    0.000000] Zone ranges:\n[    0.000000]   DMA32    [mem 0x0000000080200000-0x00000000bfffffff]\n[    0.000000]   Normal   [mem 0x00000000c0000000-0x00000bffffffffff]\n[    0.000000] Movable zone start for each node\n[    0.000000] Early memory node ranges\n[    0.000000]   node   0: [mem 0x0000000080200000-0x00000000bfffffff]\n[    0.000000] Initmem setup node 0 [mem 0x0000000080200000-0x00000000bfffffff]\n[    0.000000] software IO TLB: mapped [mem 0xbb1fc000-0xbf1fc000] (64MB)\n[    0.000000] Unable to find \"cpu\" devicetree entry\n[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 258055\n[    0.000000] Kernel command line: debug console=ttySIF0,125200 root=\/dev\/mmcblk0p2 loglevel=7 rootwait\n[    0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes)\n[    0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes)\n[    0.000000] Sorting __ex_table...\n[    0.000000] BUG: Bad page state in process swapper  pfn:80bf7\n[    0.000000] page:ffffffe03f029e08 count:0 mapcount:-65280 mapping:0000000000000000 index:0x1\n[    0.000000] flags: 0x0()\n[    0.000000] raw: 0000000000000000 0000000000000100 0000000000000200 0000000000000000\n[    0.000000] raw: 0000000000000001 0000000000000000 00000000ffff00ff\n[    0.000000] page dumped because: nonzero mapcount\n[    0.000000] Modules linked in:\n[    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 4.19.0-sifive-1+ #1\n[    0.000000] Call Trace:\n[    0.000000] [&lt;ffffffe00002cfde&gt;] walk_stackframe+0x0\/0xa0\n[    0.000000] [&lt;ffffffe00002d1da&gt;] show_stack+0x2a\/0x34\n[    0.000000] [&lt;ffffffe00063c898&gt;] chachachllachachachTradeonachachach_inachachipachachachachllachachachTradeonachachachdevachachachypachachachllachachachTradeona+0x20\/0x28\n[    0.000000] [&lt;ffffffe00009499c&gt;] bad_page+0xe4\/0x102\n[    0.000000] [&lt;ffffffe0000949f2&gt;] free_pages_check_bad+0x38\/0x7a\n[    0.000000] [&lt;ffffffe000094bb0&gt;] free_pcppages_bulk+0x106\/0x36c\n[    0.000000] [&lt;ffffffe0000957be&gt;] free_unref_page_commit.isra.23+0x86\/0x8e\n[    0.000000] [&lt;ffffffe0000960bc&gt;] free_unref_page+0x44\/0x58\n[    0.000000] [&lt;ffffffe0000960de&gt;] __free_pages.part.28+0xe\/0x22\n[    0.000000] [&lt;ffffffe0000056da&gt;] __free_pages_bootmem+0x86\/0x90\n[    0.000000] [&lt;ffffffe000007c46&gt;] free_all_bootmem+0x156\/0x1ba\n[    0.000000] [&lt;ffffffe0000023f8&gt;] mem_init+0x36\/0x44\n[    0.000000] [&lt;ffffffe0000007a0&gt;] start_kernel+0x1aa\/0x328\n[    0.000000] [&lt;ffffffe000000058&gt;] _sinittext+0x58\/0x5c\n[    0.000000] Disabling lock debugging due to kernel taint\n[    0.000000] BUG: Bad page state in process swapper  pfn:80bf9\n[    0.000000] page:ffffffe03f029e78 count:0 mapcount:-65280 mapping:0000000000000000 index:0x0\n[    0.000000] flags: 0x0()\n[    0.000000] raw: 0000000000000000 ffffffe03f020080 ffffffe03f020080 0000000000000000\n[    0.000000] raw: 0000000000000000 0000000000000000 00000000ffff00ff\n[    0.000000] page dumped because: nonzero mapcount\n[    0.000000] Modules linked in:\n[    0.000000] CPU: 0 PID: 0 Comm: swapper Tainted: G    B             4.19.0-sifive-1+ #1\n[    0.000000] Call Trace:\n[    0.000000] [&lt;ffffffe00002cfde&gt;] walk_stackframe+0x0\/0xa0\n[    0.000000] [&lt;ffffffe00002d1da&gt;] show_stack+0x2a\/0x34\n[    0.000000] [&lt;ffffffe00063c898&gt;] chachachllachachachTradeonachachach_inachachipachachachachllachachachTradeonachachachdevachachachypachachachllachachachTradeona+0x20\/0x28\n[    0.000000] [&lt;ffffffe00009499c&gt;] bad_page+0xe4\/0x102\n[    0.000000] [&lt;ffffffe0000949f2&gt;] free_pages_check_bad+0x38\/0x7a\n[    0.000000] [&lt;ffffffe0000955c6&gt;] __free_pages_ok+0x3fe\/0x430\n[    0.000000] [&lt;ffffffe0000960ea&gt;] __free_pages.part.28+0x1a\/0x22\n[    0.000000] [&lt;ffffffe0000056da&gt;] __free_pages_bootmem+0x86\/0x90\n[    0.000000] [&lt;ffffffe000007c46&gt;] free_all_bootmem+0x156\/0x1ba\n[    0.000000] [&lt;ffffffe0000023f8&gt;] mem_init+0x36\/0x44\n[    0.000000] [&lt;ffffffe0000007a0&gt;] start_kernel+0x1aa\/0x328\n[    0.000000] [&lt;ffffffe000000058&gt;] _sinittext+0x58\/0x5c\n[    0.000000] BUG: Bad page state in process swapper  pfn:80bfa\n[    0.000000] page:ffffffe03f029eb0 count:0 mapcount:-65280 mapping:0000000000000000 index:0x0\n[    0.000000] flags: 0x0()\n[    0.000000] raw: 0000000000000000 ffffffe03f0200b8 ffffffe03f0200b8 0000000000000000\n[    0.000000] raw: 0000000000000000 0000000000000000 00000000ffff00ff\n[    0.000000] page dumped because: nonzero mapcount\n[    0.000000] Modules linked in:\n[    0.000000] CPU: 0 PID: 0 Comm: swapper Tainted: G    B             4.19.0-sifive-1+ #1\n[    0.000000] Call Trace:\n[    0.000000] [&lt;ffffffe00002cfde&gt;] walk_stackframe+0x0\/0xa0\n[    0.000000] [&lt;ffffffe00002d1da&gt;] show_stack+0x2a\/0x34\n[    0.000000] [&lt;ffffffe00063c898&gt;] chachachllachachachTradeonachachach_inachachipachachachachllachachachTradeonachachachdevachachachypachachachllachachachTradeona+0x20\/0x28\n[    0.000000] [&lt;ffffffe00009499c&gt;] bad_page+0xe4\/0x102\n[    0.000000] [&lt;ffffffe0000949f2&gt;] free_pages_check_bad+0x38\/0x7a\n[    0.000000] [&lt;ffffffe0000955c6&gt;] __free_pages_ok+0x3fe\/0x430\n[    0.000000] [&lt;ffffffe0000960ea&gt;] __free_pages.part.28+0x1a\/0x22\n[    0.000000] [&lt;ffffffe0000056da&gt;] __free_pages_bootmem+0x86\/0x90\n[    0.000000] [&lt;ffffffe000007c46&gt;] free_all_bootmem+0x156\/0x1ba\n[    0.000000] [&lt;ffffffe0000023f8&gt;] mem_init+0x36\/0x44\n[    0.000000] [&lt;ffffffe0000007a0&gt;] start_kernel+0x1aa\/0x328\n[    0.000000] [&lt;ffffffe000000058&gt;] _sinittext+0x58\/0x5c\n[    0.000000] BUG: Bad page state in process swapper  pfn:80bfb\n[    0.000000] page:ffffffe03f029ee8 count:0 mapcount:-65280 mapping:0000000000000000 index:0x0\n[    0.000000] flags: 0x0()\n[    0.000000] raw: 0000000000000000 ffffffe03f0200f0 ffffffe03f0200f0 0000000000000000\n[    0.000000] raw: 0000000000000000 0000000000000000 00000000ffff00ff\n[    0.000000] page dumped because: nonzero mapcount\n[    0.000000] Modules linked in:\n[    0.000000] CPU: 0 PID: 0 Comm: swapper Tainted: G    B             4.19.0-sifive-1+ #1\n[    0.000000] Call Trace:\n[    0.000000] [&lt;ffffffe00002cfde&gt;] walk_stackframe+0x0\/0xa0\n[    0.000000] [&lt;ffffffe00002d1da&gt;] show_stack+0x2a\/0x34\n[    0.000000] [&lt;ffffffe00063c898&gt;] chachachllachachachTradeonachachach_inachachipachachachachllachachachTradeonachachachdevachachachypachachachllachachachTradeona+0x20\/0x28\n[    0.000000] [&lt;ffffffe00009499c&gt;] bad_page+0xe4\/0x102\n[    0.000000] [&lt;ffffffe0000949f2&gt;] free_pages_check_bad+0x38\/0x7a\n[    0.000000] [&lt;ffffffe0000955c6&gt;] __free_pages_ok+0x3fe\/0x430\n[    0.000000] [&lt;ffffffe0000960ea&gt;] __free_pages.part.28+0x1a\/0x22\n[    0.000000] [&lt;ffffffe0000056da&gt;] __free_pages_bootmem+0x86\/0x90\n[    0.000000] [&lt;ffffffe000007c46&gt;] free_all_bootmem+0x156\/0x1ba\n[    0.000000] [&lt;ffffffe0000023f8&gt;] mem_init+0x36\/0x44\n[    0.000000] [&lt;ffffffe0000007a0&gt;] start_kernel+0x1aa\/0x328\n[    0.000000] [&lt;ffffffe000000058&gt;] _sinittext+0x58\/0x5c\n[    0.000000] BUG: Bad page state in process swapper  pfn:80bfc\n[    0.000000] page:ffffffe03f029f20 count:0 mapcount:-65280 mapping:0000000000000000 index:0x0\n[    0.000000] flags: 0x0()\n[    0.000000] raw: 0000000000000000 ffffffe03f020028 ffffffe03f020028 0000000000000000\n[    0.000000] raw: 0000000000000000 0000000000000000 00000000ffff00ff\n...<\/code><\/pre>\n<p>\u0417\u0430\u043d\u044f\u0442\u043d\u043e, \u0447\u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u0432\u0441\u0435\u0439 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u044f \u0440\u0435\u0448\u0438\u043b \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u043a\u0430\u043a \u0434\u043e\u043b\u0436\u0435\u043d \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u00ab\u0440\u0435\u0444\u0435\u0440\u0435\u043d\u0441\u043d\u044b\u0439\u00bb \u0432\u044b\u0432\u043e\u0434 \u044f\u0434\u0440\u0430, \u0441\u043a\u0430\u0437\u0430\u043b <code>make qemu<\/code>, \u0438 \u0443\u0432\u0438\u0434\u0435\u043b \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u0443\u044e \u043e\u0448\u0438\u0431\u043a\u0443.<\/p>\n<p>\u0423\u0432\u044b, \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c (Linux kernel) \u0441\u043b\u043e\u0436\u043d\u0435\u0435: GDB, \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0451\u043d\u043d\u044b\u0439 \u0447\u0435\u0440\u0435\u0437 JTAG \u043a RocketChip, \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043f\u043e-\u0432\u0438\u0434\u0438\u043c\u043e\u043c\u0443, \u0441 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0430\u0434\u0440\u0435\u0441\u0430\u043c\u0438 \u0432\u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043e MMU, \u0430 \u044f\u0434\u0440\u043e \u0432 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u044e\u0449\u0438\u0439 \u043d\u0430\u0441 \u043c\u043e\u043c\u0435\u043d\u0442 \u0443\u0436\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043b\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0430\u0434\u0440\u0435\u0441\u043e\u0432, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c <code>display\/10i $pc<\/code> \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u2014 \u0443\u0432\u0438\u0434\u0438\u043c \u043b\u0438\u0448\u044c \u043c\u043d\u043e\u0433\u043e <code>unimp<\/code>. \u0417\u0430\u0442\u043e, \u0435\u0441\u043b\u0438 \u043c\u044b \u0443\u0436\u0435 \u0432\u044b\u044f\u0441\u043d\u0438\u043b\u0438 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 (\u043f\u043e\u0445\u043e\u0436\u0435, \u0447\u0442\u043e <code>0x80200000 -&gt; 0xffffffe000000000<\/code>), \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0445\u0438\u0442\u0440\u0438\u0442\u044c:<\/p>\n<pre><code class=\"plaintext\">1: x\/10i $pc\n=&gt; 0xffffffe000002436 &lt;setup_smp&gt;:      unimp\n   0xffffffe000002438 &lt;setup_smp+2&gt;:    unimp\n   0xffffffe00000243a &lt;setup_smp+4&gt;:    unimp\n   0xffffffe00000243c &lt;setup_smp+6&gt;:    unimp\n   0xffffffe00000243e &lt;setup_smp+8&gt;:    unimp\n   0xffffffe000002440 &lt;setup_smp+10&gt;:   unimp\n   0xffffffe000002442 &lt;setup_smp+12&gt;:   unimp\n   0xffffffe000002444 &lt;setup_smp+14&gt;:   unimp\n   0xffffffe000002446 &lt;setup_smp+16&gt;:   unimp\n   0xffffffe000002448 &lt;setup_smp+18&gt;:   unimp\n(gdb) undisplay 1\n(gdb) display\/10i ($pc - 0xffffffe000002436 + 0x80202436)\n2: x\/10i ($pc - 0xffffffe000002436 + 0x80202436)\n   0x80202436:  addi    sp,sp,-96\n   0x80202438:  sd      s0,80(sp)\n   0x8020243a:  sd      s1,72(sp)\n   0x8020243c:  sd      s2,64(sp)\n   0x8020243e:  sd      s3,56(sp)\n   0x80202440:  sd      s4,48(sp)\n   0x80202442:  sd      s5,40(sp)\n   0x80202444:  sd      s6,32(sp)\n   0x80202446:  sd      s7,24(sp)\n   0x80202448:  sd      s8,16(sp)<\/code><\/pre>\n<p>\u0411\u0440\u0435\u043a\u043f\u043e\u0438\u043d\u0442\u044b \u043f\u0440\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e:<\/p>\n<pre><code class=\"plaintext\">(gdb) p setup_smp\n$1 = {&lt;text variable, no debug info&gt;} 0xffffffe000002436 &lt;setup_smp&gt;\n(gdb) b *0x80202436\nBreakpoint 1 at 0x80202436\n(gdb) c\nContinuing.\n\nProgram received signal SIGTRAP, Trace\/breakpoint trap.\nsetup_smp () at \/home\/trosinenko\/freedom-u-sdk\/linux\/arch\/riscv\/kernel\/smpboot.c:58\n58              while ((dn = of_find_node_by_type(dn, \"cpu\"))) {\n(gdb) bt\n#0  setup_smp () at \/home\/trosinenko\/freedom-u-sdk\/linux\/arch\/riscv\/kernel\/smpboot.c:58\n#1  0xffffffe0000022a2 in setup_arch () at \/home\/trosinenko\/freedom-u-sdk\/linux\/arch\/riscv\/kernel\/setup.c:253\n#2  0x0000000000000000 in ?? ()\nBacktrace stopped: frame did not save the PC<\/code><\/pre>\n<p>\u0412\u043e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0445 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0441\u043d\u0438\u043c\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0439\u0442\u0438 \u0434\u0430\u043b\u044c\u0448\u0435 \u2014 \u0434\u043b\u044f GDB \u044d\u0442\u043e \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u044b\u0439 trap. \u0410\u0445 \u0434\u0430, \u0435\u0441\u043b\u0438 \u0432\u044b \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u0441\u043a\u0430\u0436\u0435\u0442\u0435 <code>s<\/code> \u0438\u043b\u0438 <code>n<\/code> \u0432\u043c\u0435\u0441\u0442\u043e <code>si<\/code>, gdb \u043f\u043e\u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043d\u0435\u044f\u0432\u043d\u044b\u0439 \u0431\u0440\u0435\u043a\u043f\u043e\u0438\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u043c \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c \u043d\u0435 \u0432\u044b\u0441\u0442\u0430\u0432\u0438\u0442\u0441\u044f, \u043d\u043e \u0438 \u043e\u0442\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c GDB \u0443\u0436\u0435 \u043d\u0438\u043a\u0430\u043a. \u041d\u043e \u043d\u0435 \u0441\u043f\u0435\u0448\u0438\u0442\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u043f\u043b\u0430\u0442\u0443 \u2014 \u043f\u043e \u043c\u043e\u0438\u043c \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u044f\u043c, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e gdb (\u0443\u0447\u0442\u0438\u0442\u0435, \u0447\u0442\u043e \u0441\u0442\u0430\u0440\u044b\u0435 breakpoint-\u044b, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043d\u0435 \u0438\u0441\u0447\u0435\u0437\u043d\u0443\u0442).<\/p>\n<p>\u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c\u0441\u044f \u0441 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043e\u0439: \u0440\u0430\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u044b\u0445 <code>printk<\/code> \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e <code>of_find_node_by_type<\/code>, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0443\u044e \u043a\u043e\u0434\u043e\u043c \u043f\u043e\u0438\u0441\u043a\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043d\u043e\u0433\u043e \u044f\u0434\u0440\u0430, \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u043e\u043d\u043e \u0432\u0438\u0434\u0438\u0442 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043c\u0443\u0441\u043e\u0440 \u0432\u043c\u0435\u0441\u0442\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0439 \u0442\u0438\u043f\u043e\u0432 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043e\u043d\u043e \u043e\u0442\u043a\u0443\u0434\u0430-\u0442\u043e \u0431\u0435\u0440\u0451\u0442 \u0441\u0442\u0440\u043e\u0447\u043a\u0443 \u00abSerial port\u00bb, \u0445\u043e\u0442\u044f \u0442\u0430\u043a\u043e\u0433\u043e \u044f\u0432\u043d\u043e \u043d\u0435\u0442 \u0432 dtb \u0432 \u043f\u043e\u043b\u0435 <code>device_type<\/code>. \u041f\u043e\u0438\u0441\u043a\u0430\u0432 \u044d\u0442\u0438 \u0431\u0430\u0439\u0442\u044b \u0432 \u043e\u0431\u0440\u0430\u0437\u0435 \u044f\u0434\u0440\u0430, \u044f \u0438\u0445 \u043d\u0430\u0448\u0451\u043b, \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u043b \u043d\u0430 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435, \u0438 \u043f\u043e\u043d\u044f\u043b \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e\u0435: \u0440\u0430\u0437\u043c\u0435\u0440 \u044f\u0434\u0440\u0430 \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u0445 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u044f\u0432\u043d\u043e \u043d\u0435\u0434\u043e\u043e\u0446\u0435\u043d\u0451\u043d: \u0435\u043c\u0443 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043e 8Mb, \u0430 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u043e\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0434\u0435\u0441\u044f\u0442\u0438. \u0412\u044b\u0434\u0435\u043b\u0438\u043b 16Mb, \u043d\u043e \u0441\u0442\u0440\u0430\u043d\u043d\u043e\u0441\u0442\u0438 \u043d\u0435 \u043f\u0440\u0435\u043a\u0440\u0430\u0442\u0438\u043b\u0438\u0441\u044c. \u041f\u043e\u0441\u043b\u0435 \u043f\u043b\u044f\u0441\u043e\u043a \u0441 \u0447\u0442\u0435\u043d\u0438\u0435\u043c FDT \u0441 \u0440\u0430\u0437\u043d\u044b\u0445 \u0430\u0434\u0440\u0435\u0441\u043e\u0432 (\u0448\u0442\u0430\u0442\u043d\u043e \u0430\u0434\u0440\u0435\u0441 \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442\u0441\u044f \u044f\u0434\u0440\u0443 \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435 <code>a1<\/code>), \u044f, \u043d\u0430\u043a\u043e\u043d\u0435\u0446, \u0440\u0435\u0448\u0438\u043b \u0442\u0440\u0430\u0441\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0430 \u0447\u0442\u043e \u0436\u0435 <strong>\u0441\u0435\u0439\u0447\u0430\u0441<\/strong> \u0442\u0430\u043c \u043f\u0430\u0440\u0441\u0438\u0442\u0441\u044f. \u041a \u0441\u0447\u0430\u0441\u0442\u044c\u044e, \u0432\u043c\u0435\u0441\u0442\u043e \u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0439 \u0441 \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a\u043e\u043c (\u0430 \u043c\u044b \u043f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e \u0435\u0441\u0442\u044c \u043d\u044e\u0430\u043d\u0441\u044b \u0441 \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0435\u0439 \u0430\u0434\u0440\u0435\u0441\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0435\u0449\u0451 \u043d\u0443\u0436\u043d\u043e \u0442\u0430\u043a \u0438\u043b\u0438 \u0438\u043d\u0430\u0447\u0435 \u0440\u0435\u0448\u0438\u0442\u044c), \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0438 \u043a\u043e\u0441\u0442\u044b\u043b\u044c\u043d\u043e \u0432 \u0444\u0430\u0439\u043b\u0435 <code>drivers\/of\/fdt.c<\/code> \u0443\u043a\u0430\u0437\u0430\u0442\u044c <code>#define pr_debug printk<\/code>. \u0412 \u0438\u0442\u043e\u0433\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c:<\/p>\n<p><b class=\"spoiler_title\">\u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u043e\u0433\u043e \u0432\u044b\u0432\u043e\u0434\u0430<\/b><\/p>\n<pre><code class=\"diff\">diff --git a\/arch\/riscv\/kernel\/setup.c b\/arch\/riscv\/kernel\/setup.c\nindex 3db0d71d128b..fac47df9d1db 100644\n--- a\/arch\/riscv\/kernel\/setup.c\n+++ b\/arch\/riscv\/kernel\/setup.c\n@@ -173,6 +173,7 @@ asmlinkage void __init setup_vm(void)\n\n void __init parse_dtb(unsigned int hartid, void *dtb)\n {\n+       printk(\"HART = %u DTB = %lxn\", hartid, dtb);\n        early_init_dt_scan(__va(dtb));\n }\n\ndiff --git a\/drivers\/of\/base.c b\/drivers\/of\/base.c\nindex 74eaedd5b860..c019e4158e1d 100644\n--- a\/drivers\/of\/base.c\n+++ b\/drivers\/of\/base.c\n@@ -940,10 +940,12 @@ struct device_node *of_find_node_by_type(struct device_node *from,\n        unsigned long flags;\n\n        raw_spin_lock_irqsave(&amp;devtree_lock, flags);\n-       for_each_of_allnodes_from(from, np)\n+       for_each_of_allnodes_from(from, np) {\n+               printk(\"%lx %lx [%s] | [%s]n\", from, np, np-&gt;type, type);\n                if (np-&gt;type &amp;&amp; (of_node_cmp(np-&gt;type, type) == 0)\n                    &amp;&amp; of_node_get(np))\n                        break;\n+       }\n        of_node_put(from);\n        raw_spin_unlock_irqrestore(&amp;devtree_lock, flags);\n        return np;\ndiff --git a\/drivers\/of\/fdt.c b\/drivers\/of\/fdt.c\nindex 800ad252cf9c..2b45870ebada 100644\n--- a\/drivers\/of\/fdt.c\n+++ b\/drivers\/of\/fdt.c\n@@ -31,6 +31,8 @@\n\n #include \"of_private.h\"\n\n+#define pr_debug printk\n+\n \/*\n  * of_fdt_limit_memory - limit the number of regions in the \/memory node\n  * @limit: maximum entries\n@@ -1253,6 +1255,7 @@ bool __init early_init_dt_scan(void *params)\n  *\/\n void __init unflatten_device_tree(void)\n {\n+       printk(\"INITIAL: %lxn\", initial_boot_params);\n        __unflatten_device_tree(initial_boot_params, NULL, &amp;of_root,\n                                early_init_dt_alloc_memory_arch, false);<\/code><\/pre>\n<p><b class=\"spoiler_title\">\u0412\u044b\u0432\u043e\u0434 \u043d\u0430 \u0436\u0435\u043b\u0435\u0437\u0435<\/b><\/p>\n<pre><code class=\"plaintext\">                SIFIVE, INC.\n\n         5555555555555555555555555\n        5555                   5555\n       5555                     5555\n      5555                       5555\n     5555       5555555555555555555555\n    5555       555555555555555555555555\n   5555                             5555\n  5555                               5555\n 5555                                 5555\n5555555555555555555555555555          55555\n 55555           555555555           55555\n   55555           55555           55555\n     55555           5           55555\n       55555                   55555\n         55555               55555\n           55555           55555\n             55555       55555\n               55555   55555\n                 555555555\n                   55555\n                     5\n\n           SiFive RISC-V Core IP\n {\n  #address-cells = &lt;0x00000001&gt;;\n  #size-cells = &lt;0x00000001&gt;;\n  compatible = \"freechips,rocketchip-unknown-dev\";\n  model = \"freechips,rocketchip-unknown\";\n  chosen {\n    linux,initrd-start = &lt;0x82000000&gt;;\n    riscv,kernel-end = &lt;0x81200000&gt;;\n    riscv,kernel-start = &lt;0x80200000&gt;;\n    #address-cells = &lt;0x00000001&gt;;\n    #size-cells = &lt;0x00000000&gt;;\n    bootargs = &lt;0x64656275 0x6720636f 0x6e736f6c 0x653d7474 0x79534946 0x302c3132 0x35323030 0x20726f6f 0x743d2f64 0x65762f6d 0x6d63626c 0x6b307032 0x206c6f67 0x6c657665 0x6c3d3720 0x726f6f74 0x77616974&gt;;\n  }\n  firmware {\n    sifive,uboot = \"YYYY-MM-DD\";\n  }\n  aliases {\n    serial0 = &lt;0x2f736f63 0x2f736572 0x69616c40 0x36343030 0x30303030&gt;;\n  }\n  cpus {\n    #address-cells = &lt;0x00000001&gt;;\n    #size-cells = &lt;0x00000000&gt;;\n    cpu@0 {\n      device_type = \"cpu\";\n      clock-frequency = &lt;0x00000000&gt;;\n      compatible = \"sifive,rocket0\", \"riscv\";\n      d-cache-block-size = &lt;0x00000010&gt;;\n      d-cache-sets = &lt;0x00000040&gt;;\n      d-cache-size = &lt;0x00001000&gt;;\n      d-tlb-sets = &lt;0x00000001&gt;;\n      d-tlb-size = &lt;0x00000020&gt;;\n      i-cache-block-size = &lt;0x00000010&gt;;\n      i-cache-sets = &lt;0x00000040&gt;;\n      i-cache-size = &lt;0x00001000&gt;;\n      i-tlb-sets = &lt;0x00000001&gt;;\n      i-tlb-size = &lt;0x00000020&gt;;\n      mmu-type = \"riscv,sv39\";\n      next-level-cache = &lt;0x00000001&gt;;\n      reg = &lt;0x00000000&gt;;\n      riscv,isa = \"rv64imafdc\";\n      status = \"okay\";\n      timebase-frequency = &lt;0x000f4240&gt;;\n      tlb-split;\n      interrupt-controller {\n        #interrupt-cells = &lt;0x00000001&gt;;\n        compatible = \"riscv,cpu-intc\";\n        interrupt-controller;\n        phandle = &lt;0x00000002&gt;;\n      }\n    }\n  }\n  ram@80000000 {\n    device_type = \"memory\";\n    reg = &lt;0x80000000 0x40000000&gt;;\n    reg-names = \"mem\";\n    phandle = &lt;0x00000001&gt;;\n  }\n  soc {\n    #address-cells = &lt;0x00000001&gt;;\n    #size-cells = &lt;0x00000001&gt;;\n    compatible = \"freechips,rocketchip-unknown-soc\", \"simple-bus\";\n    ranges;\n    clint@2000000 {\n      compatible = \"riscv,clint0\";\n      interrupts-extended = &lt;0x00000002 0x00000003 0x00000002 0x00000007&gt;;\n      reg = &lt;0x02000000 0x00010000&gt;;\n      reg-names = \"control\";\n    }\n    debug-controller@0 {\n      compatible = \"sifive,debug-013\", \"riscv,debug-013\";\n      interrupts-extended = &lt;0x00000002 0x0000ffff&gt;;\n      reg = &lt;0x00000000 0x00001000&gt;;\n      reg-names = \"control\";\n    }\n    gpio@64002000 {\n      #gpio-cells = &lt;0x00000002&gt;;\n      #interrupt-cells = &lt;0x00000002&gt;;\n      compatible = \"sifive,gpio0\";\n      gpio-controller;\n      interrupt-controller;\n      interrupt-parent = &lt;0x00000003&gt;;\n      interrupts = &lt;0x00000003 0x00000004 0x00000005 0x00000006 0x00000007 0x00000008&gt;;\n      reg = &lt;0x64002000 0x00001000&gt;;\n      reg-names = \"control\";\n    }\n    interrupt-controller@c000000 {\n      #interrupt-cells = &lt;0x00000001&gt;;\n      compatible = \"riscv,plic0\";\n      interrupt-controller;\n      interrupts-extended = &lt;0x00000002 0x0000000b 0x00000002 0x00000009&gt;;\n      reg = &lt;0x0c000000 0x04000000&gt;;\n      reg-names = \"control\";\n      riscv,max-priority = &lt;0x00000007&gt;;\n      riscv,ndev = &lt;0x00000008&gt;;\n      phandle = &lt;0x00000003&gt;;\n    }\n    rom@10000 {\n      compatible = \"sifive,maskrom0\";\n      reg = &lt;0x00010000 0x00002000&gt;;\n      reg-names = \"mem\";\n    }\n    serial@64000000 {\n      compatible = \"sifive,uart0\";\n      interrupt-parent = &lt;0x00000003&gt;;\n      interrupts = &lt;0x00000002&gt;;\n      reg = &lt;0x64000000 0x00001000&gt;;\n      reg-names = \"control\";\n    }\n    spi@64001000 {\n      #address-cells = &lt;0x00000001&gt;;\n      #size-cells = &lt;0x00000000&gt;;\n      compatible = \"sifive,spi0\";\n      interrupt-parent = &lt;0x00000003&gt;;\n      interrupts = &lt;0x00000001&gt;;\n      reg = &lt;0x64001000 0x00001000&gt;;\n      reg-names = \"control\";\n      mmc@0 {\n        compatible = \"mmc-spi-slot\";\n        disable-wp;\n        reg = &lt;0x00000000&gt;;\n        spi-max-frequency = &lt;0x01312d00&gt;;\n        voltage-ranges = &lt;0x00000ce4 0x00000ce4&gt;;\n      }\n    }\n    tlclk {\n      #clock-cells = &lt;0x00000000&gt;;\n      clock-frequency = &lt;0x017d7840&gt;;\n      clock-output-names = \"tlclk\";\n      compatible = \"fixed-clock\";\n    }\n  }\n}\n[    0.000000] HART = 0 DTB = 81200000\n[    0.000000] search \"chosen\", depth: 0, uname:\n[    0.000000] search \"chosen\", depth: 1, uname: chosen\n[    0.000000] Looking for initrd properties...\n[    0.000000] Command line is: debug console=ttySIF0,125200 root=\/dev\/mmcblk0p2 loglevel=7 rootwait\n[    0.000000] dt_root_size_cells = 1\n[    0.000000] dt_root_addr_cells = 1\n[    0.000000] memory scan node ram@80000000, reg size 8,\n[    0.000000]  - 80000000 ,  40000000\n[    0.000000] OF: fdt: Ignoring memory range 0x80000000 - 0x80200000\n[    0.000000] Linux version 4.19.0-sifive-1+ (trosinenko@trosinenko-pc) (gcc version 8.3.0 (Buildroot 2019.02-07449-g4eddd28f99)) #1 SMP Sat Jul 6 12:14:41 MSK 2019\n[    0.000000] bootconsole [early0] enabled\n[    0.000000] initrd not found or empty - disabling initrd\n[    0.000000] Zone ranges:\n[    0.000000]   DMA32    [mem 0x0000000080200000-0x00000000bfffffff]\n[    0.000000]   Normal   [mem 0x00000000c0000000-0x00000bffffffffff]\n[    0.000000] Movable zone start for each node\n[    0.000000] Early memory node ranges\n[    0.000000]   node   0: [mem 0x0000000080200000-0x00000000bfffffff]\n[    0.000000] Initmem setup node 0 [mem 0x0000000080200000-0x00000000bfffffff]\n[    0.000000] INITIAL: ffffffe001000000\n[    0.000000]  -&gt; unflatten_device_tree()\n[    0.000000] Unflattening device tree:\n[    0.000000] magic: d00dfeed\n[    0.000000] size: 00001000\n[    0.000000] version: 00000011\n[    0.000000]   size is 13512, allocating...\n[    0.000000]   unflattening (____ptrval____)...\n[    0.000000] fixed up name for  -&gt;\n[    0.000000] fixed up name for chosen -&gt; chosen\n[    0.000000] fixed up name for firmware -&gt; firmware\n[    0.000000] fixed up name for aliases -&gt; aliases\n[    0.000000] fixed up name for cpus -&gt; cpus\n[    0.000000] fixed up name for cpu@0 -&gt; cpu\n[    0.000000] fixed up name for interrupt-controller -&gt; interrupt-controller\n[    0.000000] fixed up name for ram@80000000 -&gt; ram\n[    0.000000] fixed up name for soc -&gt; soc\n[    0.000000] fixed up name for clint@2000000 -&gt; clint\n[    0.000000] fixed up name for debug-controller@0 -&gt; debug-controller\n[    0.000000] fixed up name for gpio@64002000 -&gt; gpio\n[    0.000000] fixed up name for interrupt-controller@c000000 -&gt; interrupt-controller\n[    0.000000] fixed up name for rom@10000 -&gt; rom\n[    0.000000] fixed up name for serial@64000000 -&gt; serial\n[    0.000000] fixed up name for spi@64001000 -&gt; spi\n[    0.000000] fixed up name for mmc@0 -&gt; mmc\n[    0.000000] fixed up name for tlclk -&gt; tlclk\n[    0.000000]  &lt;- unflatten_device_tree()\n[    0.000000] software IO TLB: mapped [mem 0xbb1fc000-0xbf1fc000] (64MB)\n[    0.000000] 0 ffffffe03effcab0 [attach() failed for %s with error %d\n[    0.000000] ] | [cpu]\n[    0.000000] 0 ffffffe03eff0020 [(null)] | [cpu]<\/code><\/pre>\n<p><b class=\"spoiler_title\">\u0412\u044b\u0432\u043e\u0434 \u0432 QEMU<\/b><\/p>\n<pre><code class=\"plaintext\">                SIFIVE, INC.\n\n         5555555555555555555555555\n        5555                   5555\n       5555                     5555\n      5555                       5555\n     5555       5555555555555555555555\n    5555       555555555555555555555555\n   5555                             5555\n  5555                               5555\n 5555                                 5555\n5555555555555555555555555555          55555\n 55555           555555555           55555\n   55555           55555           55555\n     55555           5           55555\n       55555                   55555\n         55555               55555\n           55555           55555\n             55555       55555\n               55555   55555\n                 555555555\n                   55555\n                     5\n\n           SiFive RISC-V Core IP\n {\n  #address-cells = &lt;0x00000002&gt;;\n  #size-cells = &lt;0x00000002&gt;;\n  compatible = \"riscv-virtio\";\n  model = \"riscv-virtio,qemu\";\n  chosen {\n    linux,initrd-start = &lt;0x00000000 0x88000000&gt;;\n    linux,initrd-end = &lt;0x00000000 0x88442b86&gt;;\n    riscv,kernel-start = &lt;0x00000000 0x80200000&gt;;\n    riscv,kernel-end = &lt;0x00000000 0x80c482ac&gt;;\n    bootargs = \"\";\n    stdout-path = &lt;0x2f756172 0x74403130 0x30303030&gt;;\n  }\n  uart@10000000 {\n    interrupts = &lt;0x0000000a&gt;;\n    interrupt-parent = &lt;0x00000002&gt;;\n    clock-frequency = &lt;0x00384000&gt;;\n    reg = &lt;0x00000000 0x10000000 0x00000000 0x00000100&gt;;\n    compatible = \"ns16550a\";\n  }\n  test@100000 {\n    reg = &lt;0x00000000 0x00100000 0x00000000 0x00001000&gt;;\n    compatible = \"sifive,test0\";\n  }\n  virtio_mmio@10008000 {\n    interrupts = &lt;0x00000008&gt;;\n    interrupt-parent = &lt;0x00000002&gt;;\n    reg = &lt;0x00000000 0x10008000 0x00000000 0x00001000&gt;;\n    compatible = \"virtio,mmio\";\n  }\n  virtio_mmio@10007000 {\n    interrupts = &lt;0x00000007&gt;;\n    interrupt-parent = &lt;0x00000002&gt;;\n    reg = &lt;0x00000000 0x10007000 0x00000000 0x00001000&gt;;\n    compatible = \"virtio,mmio\";\n  }\n  virtio_mmio@10006000 {\n    interrupts = &lt;0x00000006&gt;;\n    interrupt-parent = &lt;0x00000002&gt;;\n    reg = &lt;0x00000000 0x10006000 0x00000000 0x00001000&gt;;\n    compatible = \"virtio,mmio\";\n  }\n  virtio_mmio@10005000 {\n    interrupts = &lt;0x00000005&gt;;\n    interrupt-parent = &lt;0x00000002&gt;;\n    reg = &lt;0x00000000 0x10005000 0x00000000 0x00001000&gt;;\n    compatible = \"virtio,mmio\";\n  }\n  virtio_mmio@10004000 {\n    interrupts = &lt;0x00000004&gt;;\n    interrupt-parent = &lt;0x00000002&gt;;\n    reg = &lt;0x00000000 0x10004000 0x00000000 0x00001000&gt;;\n    compatible = \"virtio,mmio\";\n  }\n  virtio_mmio@10003000 {\n    interrupts = &lt;0x00000003&gt;;\n    interrupt-parent = &lt;0x00000002&gt;;\n    reg = &lt;0x00000000 0x10003000 0x00000000 0x00001000&gt;;\n    compatible = \"virtio,mmio\";\n  }\n  virtio_mmio@10002000 {\n    interrupts = &lt;0x00000002&gt;;\n    interrupt-parent = &lt;0x00000002&gt;;\n    reg = &lt;0x00000000 0x10002000 0x00000000 0x00001000&gt;;\n    compatible = \"virtio,mmio\";\n  }\n  virtio_mmio@10001000 {\n    interrupts = &lt;0x00000001&gt;;\n    interrupt-parent = &lt;0x00000002&gt;;\n    reg = &lt;0x00000000 0x10001000 0x00000000 0x00001000&gt;;\n    compatible = \"virtio,mmio\";\n  }\n  cpus {\n    #address-cells = &lt;0x00000001&gt;;\n    #size-cells = &lt;0x00000000&gt;;\n    timebase-frequency = &lt;0x00989680&gt;;\n    cpu@0 {\n      device_type = \"cpu\";\n      reg = &lt;0x00000000&gt;;\n      status = \"okay\";\n      compatible = \"riscv\";\n      riscv,isa = \"rv64imafdcsu\";\n      mmu-type = \"riscv,sv48\";\n      clock-frequency = &lt;0x3b9aca00&gt;;\n      interrupt-controller {\n        #interrupt-cells = &lt;0x00000001&gt;;\n        interrupt-controller;\n        compatible = \"riscv,cpu-intc\";\n        linux,phandle = &lt;0x00000001&gt;;\n        phandle = &lt;0x00000001&gt;;\n      }\n    }\n  }\n  memory@80000000 {\n    device_type = \"memory\";\n    reg = &lt;0x00000000 0x80000000 0x00000000 0x40000000&gt;;\n  }\n  soc {\n    #address-cells = &lt;0x00000002&gt;;\n    #size-cells = &lt;0x00000002&gt;;\n    compatible = \"simple-bus\";\n    ranges;\n    pci@30000000 {\n      interrupt-map-mask = &lt;0x00001800 0x00000000 0x00000000 0x00000007&gt;;\n      interrupt-map = &lt;0x00000000 0x00000000 0x00000000 0x00000001 0x00000002 0x00000020 0x00000000 0x00000000 0x00000000 0x00000002 0x00000002 0x00000021 0x00000000 0x00000000 0x00000000 0x00000003 0x00000002 0x00000022 0x00000000 0x00000000 0x00000000 0x00000004 0x00000002 0x00000023 0x00000800 0x00000000 0x00000000 0x00000001 0x00000002 0x00000021 0x00000800 0x00000000 0x00000000 0x00000002 0x00000002 0x00000022 0x00000800 0x00000000 0x00000000 0x00000003 0x00000002 0x00000023 0x00000800 0x00000000 0x00000000 0x00000004 0x00000002 0x00000020 0x00001000 0x00000000 0x00000000 0x00000001 0x00000002 0x00000022 0x00001000 0x00000000 0x00000000 0x00000002 0x00000002 0x00000023 0x00001000 0x00000000 0x00000000 0x00000003 0x00000002 0x00000020 0x00001000 0x00000000 0x00000000 0x00000004 0x00000002 0x00000021 0x00001800 0x00000000 0x00000000 0x00000001 0x00000002 0x00000023 0x00001800 0x00000000 0x00000000 0x00000002 0x00000002 0x00000020 0x00001800 0x00000000 0x00000000 0x00000003 0x00000002 0x00000021 0x00001800 0x00000000 0x00000000 0x00000004 0x00000002 0x00000022&gt;;\n      ranges = &lt;0x01000000 0x00000000 0x00000000 0x00000000 0x03000000 0x00000000 0x00010000 0x02000000 0x00000000 0x40000000 0x00000000 0x40000000 0x00000000 0x40000000&gt;;\n      reg = &lt;0x00000000 0x30000000 0x00000000 0x10000000&gt;;\n      dma-coherent;\n      bus-range = &lt;0x00000000 0x000002ff&gt;;\n      linux,pci-domain = &lt;0x00000000&gt;;\n      device_type = \"pci\";\n      compatible = \"pci-host-ecam-generic\";\n      #size-cells = &lt;0x00000002&gt;;\n      #interrupt-cells = &lt;0x00000001&gt;;\n      #address-cells = &lt;0x00000003&gt;;\n    }\n    interrupt-controller@c000000 {\n      linux,phandle = &lt;0x00000002&gt;;\n      phandle = &lt;0x00000002&gt;;\n      riscv,ndev = &lt;0x00000035&gt;;\n      riscv,max-priority = &lt;0x00000007&gt;;\n      reg-names = \"control\";\n      reg = &lt;0x00000000 0x0c000000 0x00000000 0x04000000&gt;;\n      interrupts-extended = &lt;0x00000001 0x0000000b 0x00000001 0x00000009&gt;;\n      interrupt-controller;\n      compatible = \"riscv,plic0\";\n      #interrupt-cells = &lt;0x00000001&gt;;\n      #address-cells = &lt;0x00000000&gt;;\n    }\n    clint@2000000 {\n      interrupts-extended = &lt;0x00000001 0x00000003 0x00000001 0x00000007&gt;;\n      reg = &lt;0x00000000 0x02000000 0x00000000 0x00010000&gt;;\n      compatible = \"riscv,clint0\";\n    }\n  }\n}\n[    0.000000] HART = 0 DTB = 80e00000\n[    0.000000] search \"chosen\", depth: 0, uname:\n[    0.000000] search \"chosen\", depth: 1, uname: chosen\n[    0.000000] Looking for initrd properties...\n[    0.000000] initrd_start=0x88000000  initrd_end=0x88442b86\n[    0.000000] Command line is: earlyprintk\n[    0.000000] dt_root_size_cells = 2\n[    0.000000] dt_root_addr_cells = 2\n[    0.000000] memory scan node memory@80000000, reg size 16,\n[    0.000000]  - 80000000 ,  40000000\n[    0.000000] OF: fdt: Ignoring memory range 0x80000000 - 0x80200000\n[    0.000000] Linux version 4.19.0-sifive-1+ (trosinenko@trosinenko-pc) (gcc version 8.3.0 (Buildroot 2019.02-07449-g4eddd28f99)) #1 SMP Sat Jul 6 12:14:41 MSK 2019\n[    0.000000] bootconsole [early0] enabled\n[    0.000000] Initial ramdisk at: 0x(____ptrval____) (4467590 bytes)\n[    0.000000] Zone ranges:\n[    0.000000]   DMA32    [mem 0x0000000080200000-0x00000000bfffffff]\n[    0.000000]   Normal   [mem 0x00000000c0000000-0x00000bffffffffff]\n[    0.000000] Movable zone start for each node\n[    0.000000] Early memory node ranges\n[    0.000000]   node   0: [mem 0x0000000080200000-0x00000000bfffffff]\n[    0.000000] Initmem setup node 0 [mem 0x0000000080200000-0x00000000bfffffff]\n[    0.000000] INITIAL: ffffffe000c00000\n[    0.000000]  -&gt; unflatten_device_tree()\n[    0.000000] Unflattening device tree:\n[    0.000000] magic: d00dfeed\n[    0.000000] size: 00000d56\n[    0.000000] version: 00000011\n[    0.000000]   size is 14192, allocating...\n[    0.000000]   unflattening (____ptrval____)...\n[    0.000000] fixed up name for  -&gt;\n[    0.000000] fixed up name for chosen -&gt; chosen\n[    0.000000] fixed up name for uart@10000000 -&gt; uart\n[    0.000000] fixed up name for test@100000 -&gt; test\n[    0.000000] fixed up name for virtio_mmio@10008000 -&gt; virtio_mmio\n[    0.000000] fixed up name for virtio_mmio@10007000 -&gt; virtio_mmio\n[    0.000000] fixed up name for virtio_mmio@10006000 -&gt; virtio_mmio\n[    0.000000] fixed up name for virtio_mmio@10005000 -&gt; virtio_mmio\n[    0.000000] fixed up name for virtio_mmio@10004000 -&gt; virtio_mmio\n[    0.000000] fixed up name for virtio_mmio@10003000 -&gt; virtio_mmio\n[    0.000000] fixed up name for virtio_mmio@10002000 -&gt; virtio_mmio\n[    0.000000] fixed up name for virtio_mmio@10001000 -&gt; virtio_mmio\n[    0.000000] fixed up name for cpus -&gt; cpus\n[    0.000000] fixed up name for cpu@0 -&gt; cpu\n[    0.000000] fixed up name for interrupt-controller -&gt; interrupt-controller\n[    0.000000] fixed up name for memory@80000000 -&gt; memory\n[    0.000000] fixed up name for soc -&gt; soc\n[    0.000000] fixed up name for pci@30000000 -&gt; pci\n[    0.000000] fixed up name for interrupt-controller@c000000 -&gt; interrupt-controller\n[    0.000000] fixed up name for clint@2000000 -&gt; clint\n[    0.000000]  &lt;- unflatten_device_tree()\n[    0.000000] software IO TLB: mapped [mem 0xbb1fc000-0xbf1fc000] (64MB)\n[    0.000000] 0 ffffffe03effc808 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effca78 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effcd98 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effd068 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effd230 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effd4b8 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effd740 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effd9c8 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effdc50 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effded8 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effe160 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effe3e8 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effe670 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effe888 [cpu] | [cpu]\n[    0.000000] ffffffe03effe888 ffffffe03effec00 [&lt;NULL&gt;] | [cpu]\n[    0.000000] ffffffe03effe888 ffffffe03effeee8 [memory] | [cpu]\n[    0.000000] ffffffe03effe888 ffffffe03efff0b0 [&lt;NULL&gt;] | [cpu]\n[    0.000000] ffffffe03effe888 ffffffe03efff320 [pci] | [cpu]\n[    0.000000] ffffffe03effe888 ffffffe03efff858 [&lt;NULL&gt;] | [cpu]\n[    0.000000] ffffffe03effe888 ffffffe03efffd58 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effc808 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effca78 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effcd98 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effd068 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effd230 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effd4b8 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effd740 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effd9c8 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effdc50 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effded8 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effe160 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effe3e8 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effe670 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effe888 [cpu] | [cpu]\n[    0.000000] elf_hwcap is 0x112d\n[    0.000000] percpu: Embedded 17 pages\/cpu @(____ptrval____) s29400 r8192 d32040 u69632\n[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 258055\n[    0.000000] Kernel command line: earlyprintk\n[    0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes)\n[    0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes)\n[    0.000000] Sorting __ex_table...\n[    0.000000] Memory: 949716K\/1046528K available (6565K kernel code, 342K rwdata, 2564K rodata, 208K init, 832K bss, 96812K reserved, 0K cma-reserved)\n[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1\n[    0.000000] rcu: Hierarchical RCU implementation.\n[    0.000000] rcu:     RCU event tracing is enabled.\n[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=1.\n[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1\n[    0.000000] NR_IRQS: 0, nr_irqs: 0, preallocated irqs: 0\n[    0.000000] plic: mapped 53 interrupts to 2 (out of 2) handlers.\n[    0.000000] clocksource: riscv_clocksource: mask: 0xffffffffffffffff max_cycles: 0x24e6a1710, max_idle_ns: 440795202120 ns\n[    0.000000] Console: colour dummy device 80x25\n[    0.000000] console [tty0] enabled\n[    0.000000] bootconsole [early0] disabled\n[    0.000000] HART = 0 DTB = 80e00000\n[    0.000000] search \"chosen\", depth: 0, uname:\n[    0.000000] search \"chosen\", depth: 1, uname: chosen\n[    0.000000] Looking for initrd properties...\n[    0.000000] initrd_start=0x88000000  initrd_end=0x88442b86\n[    0.000000] Command line is: earlyprintk\n[    0.000000] dt_root_size_cells = 2\n[    0.000000] dt_root_addr_cells = 2\n[    0.000000] memory scan node memory@80000000, reg size 16,\n[    0.000000]  - 80000000 ,  40000000\n[    0.000000] OF: fdt: Ignoring memory range 0x80000000 - 0x80200000\n[    0.000000] Linux version 4.19.0-sifive-1+ (trosinenko@trosinenko-pc) (gcc version 8.3.0 (Buildroot 2019.02-07449-g4eddd28f99)) #1 SMP Sat Jul 6 12:14:41 MSK 2019\n[    0.000000] bootconsole [early0] enabled\n[    0.000000] Initial ramdisk at: 0x(____ptrval____) (4467590 bytes)\n[    0.000000] Zone ranges:\n[    0.000000]   DMA32    [mem 0x0000000080200000-0x00000000bfffffff]\n[    0.000000]   Normal   [mem 0x00000000c0000000-0x00000bffffffffff]\n[    0.000000] Movable zone start for each node\n[    0.000000] Early memory node ranges\n[    0.000000]   node   0: [mem 0x0000000080200000-0x00000000bfffffff]\n[    0.000000] Initmem setup node 0 [mem 0x0000000080200000-0x00000000bfffffff]\n[    0.000000] INITIAL: ffffffe000c00000\n[    0.000000]  -&gt; unflatten_device_tree()\n[    0.000000] Unflattening device tree:\n[    0.000000] magic: d00dfeed\n[    0.000000] size: 00000d56\n[    0.000000] version: 00000011\n[    0.000000]   size is 14192, allocating...\n[    0.000000]   unflattening (____ptrval____)...\n[    0.000000] fixed up name for  -&gt;\n[    0.000000] fixed up name for chosen -&gt; chosen\n[    0.000000] fixed up name for uart@10000000 -&gt; uart\n[    0.000000] fixed up name for test@100000 -&gt; test\n[    0.000000] fixed up name for virtio_mmio@10008000 -&gt; virtio_mmio\n[    0.000000] fixed up name for virtio_mmio@10007000 -&gt; virtio_mmio\n[    0.000000] fixed up name for virtio_mmio@10006000 -&gt; virtio_mmio\n[    0.000000] fixed up name for virtio_mmio@10005000 -&gt; virtio_mmio\n[    0.000000] fixed up name for virtio_mmio@10004000 -&gt; virtio_mmio\n[    0.000000] fixed up name for virtio_mmio@10003000 -&gt; virtio_mmio\n[    0.000000] fixed up name for virtio_mmio@10002000 -&gt; virtio_mmio\n[    0.000000] fixed up name for virtio_mmio@10001000 -&gt; virtio_mmio\n[    0.000000] fixed up name for cpus -&gt; cpus\n[    0.000000] fixed up name for cpu@0 -&gt; cpu\n[    0.000000] fixed up name for interrupt-controller -&gt; interrupt-controller\n[    0.000000] fixed up name for memory@80000000 -&gt; memory\n[    0.000000] fixed up name for soc -&gt; soc\n[    0.000000] fixed up name for pci@30000000 -&gt; pci\n[    0.000000] fixed up name for interrupt-controller@c000000 -&gt; interrupt-controller\n[    0.000000] fixed up name for clint@2000000 -&gt; clint\n[    0.000000]  &lt;- unflatten_device_tree()\n[    0.000000] software IO TLB: mapped [mem 0xbb1fc000-0xbf1fc000] (64MB)\n[    0.000000] 0 ffffffe03effc808 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effca78 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effcd98 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effd068 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effd230 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effd4b8 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effd740 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effd9c8 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effdc50 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effded8 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effe160 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effe3e8 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effe670 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effe888 [cpu] | [cpu]\n[    0.000000] ffffffe03effe888 ffffffe03effec00 [&lt;NULL&gt;] | [cpu]\n[    0.000000] ffffffe03effe888 ffffffe03effeee8 [memory] | [cpu]\n[    0.000000] ffffffe03effe888 ffffffe03efff0b0 [&lt;NULL&gt;] | [cpu]\n[    0.000000] ffffffe03effe888 ffffffe03efff320 [pci] | [cpu]\n[    0.000000] ffffffe03effe888 ffffffe03efff858 [&lt;NULL&gt;] | [cpu]\n[    0.000000] ffffffe03effe888 ffffffe03efffd58 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effc808 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effca78 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effcd98 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effd068 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effd230 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effd4b8 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effd740 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effd9c8 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effdc50 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effded8 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effe160 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effe3e8 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effe670 [&lt;NULL&gt;] | [cpu]\n[    0.000000] 0 ffffffe03effe888 [cpu] | [cpu]\n[    0.000000] elf_hwcap is 0x112d\n[    0.000000] percpu: Embedded 17 pages\/cpu @(____ptrval____) s29400 r8192 d32040 u69632\n[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 258055\n[    0.000000] Kernel command line: earlyprintk\n[    0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes)\n[    0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes)\n[    0.000000] Sorting __ex_table...\n[    0.000000] Memory: 949716K\/1046528K available (6565K kernel code, 342K rwdata, 2564K rodata, 208K init, 832K bss, 96812K reserved, 0K cma-reserved)\n[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1\n[    0.000000] rcu: Hierarchical RCU implementation.\n[    0.000000] rcu:     RCU event tracing is enabled.\n[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=1.\n[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1\n[    0.000000] NR_IRQS: 0, nr_irqs: 0, preallocated irqs: 0\n[    0.000000] plic: mapped 53 interrupts to 2 (out of 2) handlers.\n[    0.000000] clocksource: riscv_clocksource: mask: 0xffffffffffffffff max_cycles: 0x24e6a1710, max_idle_ns: 440795202120 ns\n[    0.000000] Console: colour dummy device 80x25\n[    0.000000] console [tty0] enabled\n[    0.000000] bootconsole [early0] disabled\n[    0.000000] Calibrating delay loop (skipped), value calculated using timer frequency.. 20.00 BogoMIPS (lpj=100000)\n[    0.000000] pid_max: default: 32768 minimum: 301\n[    0.000000] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes)\n[    0.000000] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes)\n[    0.020000] rcu: Hierarchical SRCU implementation.\n[    0.020000] smp: Bringing up secondary CPUs ...\n[    0.020000] smp: Brought up 1 node, 1 CPU\n[    0.050000] devtmpfs: initialized\n[    0.050000] 0 ffffffe03effc808 [&lt;NULL&gt;] | [cpu]\n[    0.050000] 0 ffffffe03effca78 [&lt;NULL&gt;] | [cpu]\n[    0.050000] 0 ffffffe03effcd98 [&lt;NULL&gt;] | [cpu]\n[    0.050000] 0 ffffffe03effd068 [&lt;NULL&gt;] | [cpu]\n[    0.050000] 0 ffffffe03effd230 [&lt;NULL&gt;] | [cpu]\n[    0.050000] 0 ffffffe03effd4b8 [&lt;NULL&gt;] | [cpu]\n[    0.050000] 0 ffffffe03effd740 [&lt;NULL&gt;] | [cpu]\n[    0.050000] 0 ffffffe03effd9c8 [&lt;NULL&gt;] | [cpu]\n[    0.050000] 0 ffffffe03effdc50 [&lt;NULL&gt;] | [cpu]\n[    0.050000] 0 ffffffe03effded8 [&lt;NULL&gt;] | [cpu]\n[    0.050000] 0 ffffffe03effe160 [&lt;NULL&gt;] | [cpu]\n[    0.050000] 0 ffffffe03effe3e8 [&lt;NULL&gt;] | [cpu]\n[    0.050000] 0 ffffffe03effe670 [&lt;NULL&gt;] | [cpu]\n[    0.050000] 0 ffffffe03effe888 [cpu] | [cpu]\n[    0.050000] random: get_random_u32 called from bucket_table_alloc+0x76\/0x17a with crng_init=0\n[    0.050000] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns\n[    0.050000] futex hash table entries: 256 (order: 2, 16384 bytes)\n[    0.060000] NET: Registered protocol family 16\n[    0.090000] vgaarb: loaded\n[    0.090000] SCSI subsystem initialized\n[    0.090000] usbcore: registered new interface driver usbfs\n[    0.090000] usbcore: registered new interface driver hub\n[    0.090000] usbcore: registered new device driver usb\n[    0.090000] pps_core: LinuxPPS API ver. 1 registered\n[    0.090000] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti &lt;giometti@linux.it&gt;\n[    0.090000] PTP clock support registered\n[    0.100000] Advanced Linux Sound Architecture Driver Initialized.\n[    0.100000] clocksource: Switched to clocksource riscv_clocksource\n[    0.110000] NET: Registered protocol family 2\n[    0.110000] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes)\n[    0.110000] TCP established hash table entries: 8192 (order: 4, 65536 bytes)\n[    0.110000] TCP bind hash table entries: 8192 (order: 5, 131072 bytes)\n[    0.110000] TCP: Hash tables configured (established 8192 bind 8192)\n[    0.110000] UDP hash table entries: 512 (order: 2, 16384 bytes)\n[    0.110000] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)\n[    0.110000] NET: Registered protocol family 1\n[    0.120000] Unpacking initramfs...\n[    0.590000] workingset: timestamp_bits=62 max_order=18 bucket_order=0\n[    0.620000] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)\n[    0.620000] io scheduler noop registered\n[    0.620000] io scheduler deadline registered\n[    0.620000] io scheduler cfq registered (default)\n[    0.620000] io scheduler mq-deadline registered\n[    0.620000] io scheduler kyber registered\n[    0.620000] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4\n[    0.690000] Serial: 8250\/16550 driver, 4 ports, IRQ sharing disabled\n[    0.690000] 10000000.uart: ttyS0 at MMIO 0x10000000 (irq = 10, base_baud = 230400) is a 16550A\n[    0.720000] console [ttyS0] enabled\n[    0.720000] [drm] radeon kernel modesetting enabled.\n[    0.720000] [drm] amdgpu kernel modesetting enabled.\n[    0.730000] loop: module loaded\n[    0.730000] libphy: Fixed MDIO Bus: probed\n[    0.740000] e1000e: Intel(R) PRO\/1000 Network Driver - 3.2.6-k\n[    0.740000] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.\n[    0.740000] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver\n[    0.740000] ehci-pci: EHCI PCI platform driver\n[    0.740000] ehci-platform: EHCI generic platform driver\n[    0.740000] mousedev: PS\/2 mouse device common for all mice\n[    0.740000] usbcore: registered new interface driver usbhid\n[    0.740000] usbhid: USB HID core driver\n[    0.740000] usbcore: registered new interface driver snd-usb-audio\n[    0.740000] NET: Registered protocol family 10\n[    0.750000] Segment Routing with IPv6\n[    0.750000] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver\n[    0.750000] NET: Registered protocol family 17\n[    0.750000] Key type dns_resolver registered\n[    0.760000] ALSA device list:\n[    0.760000]   No soundcards found.\n[    0.770000] Freeing unused kernel memory: 208K\n[    0.770000] This architecture does not have kernel memory protection.\n[    0.770000] Run \/init as init process<\/code><\/pre>\n<p>(\u00ab\u0422\u0430\u0439\u043c\u0441\u0442\u0435\u043c\u043f\u043d\u0443\u0442\u044b\u043c\u0438\u00bb \u0441\u0442\u0440\u043e\u0447\u043a\u0438 \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u044f\u0434\u0440\u043e, \u043f\u0435\u0440\u0435\u0434 \u043d\u0438\u043c\u0438 \u0434\u0435\u0440\u0435\u0432\u043e \u0432\u044b\u0432\u043e\u0434\u0438\u0442 BBL) \u0421 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b, FDT \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f, \u0441 \u0434\u0440\u0443\u0433\u043e\u0439 \u2014 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a\u0430\u044f-\u0442\u043e \u0447\u0435\u043f\u0443\u0445\u0430 \u0432 \u0440\u0430\u0441\u043f\u0430\u0440\u0441\u0435\u043d\u043d\u043e\u043c \u00ab\u043e\u0431\u044a\u0435\u043a\u0442\u043d\u043e\u043c\u00bb \u0434\u0435\u0440\u0435\u0432\u0435.<\/p>\n<p>\u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u044f \u043f\u043e\u043d\u044f\u043b, \u0447\u0442\u043e BBL \u043d\u0435 \u043c\u043e\u0433 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u00ab\u0434\u0432\u043e\u0439\u043d\u043e\u0439\u00bb \u0430\u0434\u0440\u0435\u0441 \u043d\u0435 \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0435 \u0431\u044b\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430, \u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u0443 \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0433\u043e \u0443\u0437\u043b\u0430 \u0431\u044b\u043b \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u0435\u043d <code>#address-cells = &lt;1&gt;; #size-cells = &lt;1&gt;;<\/code>.<\/p>\n<p>\u0420\u0430\u0441\u0448\u0438\u0440\u0438\u0432 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434, \u044f \u0443\u0432\u0438\u0434\u0435\u043b, \u0447\u0442\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0438 \u043d\u0430 <code>type<\/code> \u0438 <code>name<\/code> \u00ab\u043f\u043e\u0431\u0438\u043b\u0438\u0441\u044c\u00bb, \u043f\u0440\u0438\u0447\u0451\u043c \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0441\u0442\u0440\u0430\u043d\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c: \u0443 \u043d\u0438\u0445 \u043e\u0431\u043d\u0443\u043b\u0438\u043b\u0441\u044f \u043f\u0435\u0440\u0432\u044b\u0439 (\u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u043d\u0443\u043b\u044f) \u0431\u0430\u0439\u0442, \u0447\u0442\u043e-\u0442\u043e \u0432\u0440\u043e\u0434\u0435 <code>0xabcdef -&gt; 0xab00ef<\/code>. \u041f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0437\u043d\u0430\u043a\u043e\u043c\u043e\u0439 \u0442\u0430\u043a\u0442\u0438\u043a\u043e\u0439: \u0437\u043d\u0430\u044f \u0430\u0434\u0440\u0435\u0441\u0430, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u043e\u0432\u0440\u0435\u0436\u0434\u0451\u043d\u043d\u0430\u044f \u043f\u0430\u043c\u044f\u0442\u044c, \u0434\u043e\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e <code>printk<\/code> \u043f\u0435\u0447\u0430\u0442\u044c \u044d\u0442\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u041d\u0443 \u0438 \u0441\u0430\u043c\u0438\u0445 \u0432\u044b\u0437\u043e\u0432\u043e\u0432 <code>printk<\/code> \u043f\u043e\u0440\u0430\u0441\u043a\u0438\u0434\u0430\u0442\u044c, \u0433\u0434\u0435 \u0438\u0445 \u043c\u0430\u043b\u043e. \u0423\u0432\u044b, \u0441\u0438\u043b\u044c\u043d\u043e \u043f\u043e\u043d\u044f\u0442\u043d\u0435\u0435 \u043d\u0435 \u0441\u0442\u0430\u043b\u043e. \u0422\u043e\u0433\u0434\u0430 \u044f \u0441\u0442\u0430\u043b, \u0441\u0432\u0435\u0440\u044f\u044f\u0441\u044c \u0441 \u0434\u0438\u0437\u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 <code>objdump<\/code> \u0432\u0435\u0440\u0441\u0438\u0435\u0439, \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0440\u0430\u0441\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c breakpoint-\u044b \u0438 \u043f\u043e \u0448\u0430\u0433\u0430\u043c \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043d\u044b\u0439 \u0443\u0447\u0430\u0441\u0442\u043e\u043a \u043a\u043e\u0434\u0430. \u0418 \u0442\u0443\u0442 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u043e\u0441\u044c \u0437\u0430\u0433\u0430\u0434\u043e\u0447\u043d\u043e\u0435 \u0438 \u043d\u0435\u043f\u0440\u0438\u044f\u0442\u043d\u043e\u0435: \u0435\u0441\u043b\u0438 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0442\u043e\u0447\u043a\u0443 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430 \u043a\u0443\u0434\u0430-\u043d\u0438\u0431\u0443\u0434\u044c \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0434\u0430\u043b\u0435\u043a\u043e \u043e\u0442 known-good \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f, \u0442\u043e, \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0432\u0448\u0438\u0441\u044c \u043d\u0430 \u043d\u0435\u0439, \u044f \u0443\u0432\u0438\u0436\u0443 \u0443\u0436\u0435 \u043f\u043e\u0432\u0440\u0435\u0436\u0434\u0451\u043d\u043d\u0443\u044e \u043f\u0430\u043c\u044f\u0442\u044c. \u041d\u043e \u0435\u0441\u043b\u0438 \u043f\u043e\u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u0442\u0438\u0445\u043e \u043f\u043e\u0434\u043a\u0440\u0430\u0441\u0442\u044c\u0441\u044f \u043a \u043d\u0435\u0439 \u043f\u043e \u0448\u0430\u0433\u0430\u043c, \u0442\u043e \u043e\u0448\u0438\u0431\u043a\u0430 \u0443\u0441\u043f\u0435\u0432\u0430\u0435\u0442 \u0441\u043f\u0440\u044f\u0442\u0430\u0442\u044c\u0441\u044f! \u0414\u0435\u043b\u043e \u043f\u0430\u0445\u043d\u0435\u0442 \u0431\u0438\u0442\u044b\u043c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u043c \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u043a\u0435\u0448\u043e\u043c, \u0441\u043a\u0440\u044b\u0432\u0430\u044e\u0449\u0438\u043c \u043e\u0448\u0438\u0431\u043a\u0443, \u0435\u0441\u043b\u0438 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435. \u0410 \u0447\u0442\u043e \u0435\u0441\u043b\u0438&#8230;<\/p>\n<h2 id=\"zamenyaem-pamyat\">\u0417\u0430\u043c\u0435\u043d\u044f\u0435\u043c \u043f\u0430\u043c\u044f\u0442\u044c<\/h2>\n<p>\u0426\u0435\u043f\u043b\u044f\u044f\u0441\u044c \u0437\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0435\u0448\u0438\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043d\u0435 \u043d\u0430 \u0441\u0432\u043e\u0435\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u0435, \u044f \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043b, \u0447\u0442\u043e, \u043c\u043e\u0436\u0435\u0442, \u043c\u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u0438\u0448\u043b\u0430 \u0431\u0438\u0442\u0430\u044f \u043f\u043b\u0430\u043d\u043a\u0430 \u043f\u0430\u043c\u044f\u0442\u0438. \u0422\u0443\u0442 \u044f \u0432\u0441\u043f\u043e\u043c\u043d\u0438\u043b, \u0447\u0442\u043e \u043d\u0435\u0442\u0431\u0443\u043a \u0434\u0435\u0441\u044f\u0442\u0438\u043b\u0435\u0442\u043d\u0435\u0439 \u0434\u0430\u0432\u043d\u043e\u0441\u0442\u0438 \u2014 \u044d\u0442\u043e \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0440\u0442\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440, \u043d\u043e \u0438 \u0446\u0435\u043d\u043d\u044b\u0439 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a DDR2 SO-DIMM. \u0411\u043e\u043d\u0443\u0441\u043e\u043c, \u0432 \u043d\u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0441\u0443\u043d\u0443\u0442\u044c \u0432\u044b\u043d\u0443\u0442\u0443\u044e \u0438\u0437 \u043f\u043b\u0430\u0442\u044b \u043f\u0430\u043c\u044f\u0442\u044c, \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u043e\u0447\u0442\u0438 \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u043d\u043e\u0435 \u0437\u0430\u0432\u0438\u0441\u0430\u043d\u0438\u0435 Memtest (Linux, \u043a\u0441\u0442\u0430\u0442\u0438, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0433\u0440\u0443\u0437\u0438\u043b\u0441\u044f \u043f\u043e\u0447\u0442\u0438 \u0434\u043e \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0438. <strong>\u041d\u043e \u043b\u0443\u0447\u0448\u0435 \u043d\u0435 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0439\u0442\u0435 \u0442\u0430\u043a\u043e\u0439 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442, \u0435\u0441\u043b\u0438 \u0432\u0430\u043c \u0434\u043e\u0440\u043e\u0433\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043d\u0430 \u043f\u043e\u0434\u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0434\u0438\u0441\u043a\u0430\u0445&#8230;<\/strong>). \u0421 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b, \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c, \u0447\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0430\u043c\u044f\u0442\u044c \u043d\u0435 \u043f\u043e\u0434\u043e\u0448\u043b\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e \u043a \u044d\u0442\u043e\u043c\u0443 \u043d\u0435\u0442\u0431\u0443\u043a\u0443. \u0421 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b, \u043e\u043d \u0436\u0435 \u0441\u043c\u043e\u0433 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c\u0441\u044f! \u041f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u043d\u0430\u0434\u0435\u0436\u0434\u0430, \u0447\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0430\u043c\u044f\u0442\u044c \u00ab\u0431\u0438\u0442\u0430\u044f\u00bb, \u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u043d\u0435 \u0432 \u043c\u043e\u0435\u0439 \u043e\u0431\u0451\u0440\u0442\u043a\u0435.<\/p>\n<p>\u0417\u043d\u0430\u0447\u0438\u0442, \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c\u0441\u044f \u0441 \u043d\u0435\u0442\u0431\u0443\u0447\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u044c\u044e. \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, Quartus 18 \u043d\u0435 \u0443\u043c\u0435\u0435\u0442 \u0430\u043f\u0433\u0440\u0435\u0439\u0434\u0438\u0442\u044c \u044d\u0442\u043e\u0442 IP Core \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c. \u0417\u043d\u0430\u0447\u0438\u0442, \u0432\u0441\u0451-\u0442\u0430\u043a\u0438 \u043f\u0440\u0438\u0448\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u044b. \u0412\u0441\u0451 \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e: \u0438\u0449\u0435\u043c \u0432 IP Catalog \u043f\u0443\u043d\u043a\u0442 DDR2 SDRAM Controller with ALTMEMPHY Intel FPGA IP \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0431\u043b\u043e\u043a \u0441 \u0442\u0430\u043a\u0438\u043c \u0436\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c, \u043a\u0430\u043a \u0438 \u0440\u0430\u043d\u044c\u0448\u0435. \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u2014 \u044d\u0442\u043e \u0432\u044b\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u0430\u043c\u044f\u0442\u0438.<\/p>\n<h3 id=\"poluchaem-parametry-modulya-pamyati\">\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043c\u043e\u0434\u0443\u043b\u044f \u043f\u0430\u043c\u044f\u0442\u0438<\/h3>\n<p>\u0415\u0441\u0442\u044c \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043c\u043e\u0434\u0443\u043b\u044c: \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0438\u0437 SPD. \u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u0435\u0441\u043b\u0438 \u043e\u0431\u044b\u0447\u043d\u044b\u0439 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440 \u0432\u044b\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 SPD \u0438 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442 \u043f\u043e \u043d\u0438\u043c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440, \u0442\u043e \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0432\u044b\u0447\u0438\u0442\u0430\u0435\u043c \u044d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u0438\u043c\u0435\u044e\u0449\u0435\u043c\u0441\u044f \u043d\u0435\u0442\u0431\u0443\u043a\u0435 \u0438 \u0432\u043e\u0431\u044c\u0451\u043c \u0438\u0445 \u0432 \u0442\u0430\u0431\u043b\u0438\u0447\u043a\u0443.<\/p>\n<p>\u041d\u0430 Ubuntu \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f <noindex><a rel=\"nofollow\" href=\"https:\/\/unix.stackexchange.com\/a\/92044\/251405\">\u0432\u0435\u0441\u044c\u043c\u0430 \u043d\u0435\u0445\u0438\u0442\u0440\u043e<\/a><\/noindex>: \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u0430\u043a\u0435\u0442 <code>i2c-tools<\/code>, \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043c\u043e\u0434\u0443\u043b\u0438 <code>eeprom<\/code> \u0438 <code>i2c-i801<\/code> (\u043d\u0435 \u0443\u0432\u0435\u0440\u0435\u043d, \u043f\u0440\u0430\u0432\u0434\u0430, \u0447\u0442\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u043f\u043e\u0434\u043e\u0439\u0434\u0451\u0442 \u0432\u0435\u0437\u0434\u0435), \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c <code>decode-dimms<\/code>:<\/p>\n<p><b class=\"spoiler_title\">\u0412\u044b\u0432\u043e\u0434 decode-dimms<\/b><\/p>\n<pre><code class=\"plaintext\"># decode-dimms version 6231 (2014-02-20 10:54:34 +0100)\n\nMemory Serial Presence Detect Decoder\nBy Philip Edelbrock, Christian Zuckschwerdt, Burkart Lingner,\nJean Delvare, Trent Piepho and others\n\nDecoding EEPROM: \/sys\/bus\/i2c\/drivers\/eeprom\/0-0050\nGuessing DIMM is in                             bank 1\n\n---=== SPD EEPROM Information ===---\nEEPROM Checksum of bytes 0-62                   OK (0x00)\nSPD Revision                                    Invalid\nFundamental Memory type                         Unknown (0x00)\n\n---=== Manufacturing Information ===---\nManufacturer                                    Undefined\nPart Number                                     Undefined\n\nDecoding EEPROM: \/sys\/bus\/i2c\/drivers\/eeprom\/4-0050\nGuessing DIMM is in                             bank 1\n\n---=== SPD EEPROM Information ===---\nEEPROM Checksum of bytes 0-62                   OK (0x00)\nSPD Revision                                    Invalid\nFundamental Memory type                         Unknown (0x00)\n\n---=== Manufacturing Information ===---\nManufacturer                                    Undefined\nPart Number                                     Undefined\n\nDecoding EEPROM: \/sys\/bus\/i2c\/drivers\/eeprom\/6-0050\nGuessing DIMM is in                             bank 1\n\n---=== SPD EEPROM Information ===---\nEEPROM Checksum of bytes 0-62                   OK (0x76)\n# of bytes written to SDRAM EEPROM              128\nTotal number of bytes in EEPROM                 256\nFundamental Memory type                         DDR2 SDRAM\nSPD Revision                                    1.2\n\n---=== Memory Characteristics ===---\nMaximum module speed                            800 MHz (PC2-6400)\nSize                                            1024 MB\nBanks x Rows x Columns x Bits                   8 x 13 x 10 x 64\nRanks                                           2\nSDRAM Device Width                              16 bits\nModule Height                                   30.0 mm\nModule Type                                     SO-DIMM (67.6 mm)\nDRAM Package                                    Planar\nVoltage Interface Level                         SSTL 1.8V\nModule Configuration Type                       No Parity\nRefresh Rate                                    Reduced (7.8 us) - Self Refresh\nSupported Burst Lengths                         4, 8\ntCL-tRCD-tRP-tRAS                               6-6-6-18\nSupported CAS Latencies (tCL)                   6T, 5T, 4T\nMinimum Cycle Time                              2.50 ns at CAS 6 (tCK min)\n                                                3.00 ns at CAS 5\n                                                3.75 ns at CAS 4\nMaximum Access Time                             0.40 ns at CAS 6 (tAC)\n                                                0.45 ns at CAS 5\n                                                0.50 ns at CAS 4\nMaximum Cycle Time (tCK max)                    8.00 ns\n\n---=== Timing Parameters ===---\nAddress\/Command Setup Time Before Clock (tIS)   0.17 ns\nAddress\/Command Hold Time After Clock (tIH)     0.25 ns\nData Input Setup Time Before Strobe (tDS)       0.05 ns\nData Input Hold Time After Strobe (tDH)         0.12 ns\nMinimum Row Precharge Delay (tRP)               15.00 ns\nMinimum Row Active to Row Active Delay (tRRD)   10.00 ns\nMinimum RAS# to CAS# Delay (tRCD)               15.00 ns\nMinimum RAS# Pulse Width (tRAS)                 45.00 ns\nWrite Recovery Time (tWR)                       15.00 ns\nMinimum Write to Read CMD Delay (tWTR)          7.50 ns\nMinimum Read to Pre-charge CMD Delay (tRTP)     7.50 ns\nMinimum Active to Auto-refresh Delay (tRC)      60.00 ns\nMinimum Recovery Delay (tRFC)                   127.50 ns\nMaximum DQS to DQ Skew (tDQSQ)                  0.20 ns\nMaximum Read Data Hold Skew (tQHS)              0.30 ns\n\n---=== Manufacturing Information ===---\nManufacturer                                    Samsung\nManufacturing Location Code                     0x02\nPart Number                                     M4 70T2864QZ3-CF7\nRevision Code                                   0x3351\nManufacturing Date                              2009-W34\nAssembly Serial Number                          0x79C64E9A\n\nNumber of SDRAM DIMMs detected and decoded: 3<\/code><\/pre>\n<p>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0442\u0430\u0439\u043c\u0438\u043d\u0433\u043e\u0432 \u0437\u0434\u0435\u0441\u044c \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u0439\u0434\u0451\u043c \u043f\u043e \u0432\u0442\u043e\u0440\u043e\u043c\u0443 \u043f\u0443\u0442\u0438.<\/p>\n<p>\u0427\u0442\u043e \u0443 \u043d\u0430\u0441 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043d\u0430 \u043c\u043e\u0434\u0443\u043b\u044f\u0445:<\/p>\n<p><img decoding=\"async\" alt=\"\u0427\u0430\u0441\u0442\u044c 4: \u0412\u0441\u0451-\u0442\u0430\u043a\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c Linux \u043d\u0430 RocketChip RISC-V\" src=\"\/wp-content\/uploads\/2019\/07\/58d176f3416fc823bfa5f87c14329ca5.jpg\" style=\"display:block;margin: 0 auto;\"><img decoding=\"async\" alt=\"\u0427\u0430\u0441\u0442\u044c 4: \u0412\u0441\u0451-\u0442\u0430\u043a\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c Linux \u043d\u0430 RocketChip RISC-V\" src=\"\/wp-content\/uploads\/2019\/07\/e450eeb60183ad166d34da123791f684.jpg\" style=\"display:block;margin: 0 auto;\"><\/p>\n<p>\u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0435\u0435 \u043d\u0430\u0434\u043f\u0438\u0441\u044c \u043d\u0430 \u0441\u0430\u043c\u0438\u0445 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0430\u0445 \u043f\u0430\u043c\u044f\u0442\u0438: K4T1G164QQ-HCF7. \u0417\u0430\u0431\u0438\u0432 \u044d\u0442\u0443 \u0441\u0442\u0440\u043e\u0447\u043a\u0443 \u0432 \u0413\u0443\u0433\u043b, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c datasheet \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u0430\u043a\u043a\u0443\u0440\u0430\u0442\u043d\u043e \u043f\u0435\u0440\u0435\u0431\u0438\u0442\u044c \u0432 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 IP Core. \u0422\u043e\u043b\u044c\u043a\u043e \u043e\u0431\u0440\u0430\u0449\u0430\u0439\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0435\u0434\u0438\u043d\u0438\u0446\u044b \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f: \u0433\u0434\u0435-\u0442\u043e <code>ns<\/code>, \u0433\u0434\u0435-\u0442\u043e \u2014 <code>ps<\/code>, \u0430 \u0438\u043d\u043e\u0433\u0434\u0430 \u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u0434\u043e\u043b\u0438 <code>tCK<\/code>. \u0423\u0447\u0438\u0442\u044c \u0432\u0430\u0441, \u043d\u0430 \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u044f \u043d\u0435 \u0431\u0443\u0434\u0443 \u2014 \u0441\u0430\u043c \u043c\u043d\u043e\u0433\u043e\u0435 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043b \u043c\u0435\u0442\u043e\u0434\u043e\u043c \u0442\u044b\u043a\u0430 (\u043d\u0435 \u043c\u043e\u0433\u0443 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0447\u0442\u043e \u0442\u0430\u043a \u043d\u0435\u043b\u044c\u0437\u044f \u00ab\u0441\u0436\u0435\u0447\u044c\u00bb \u043f\u0430\u043c\u044f\u0442\u044c \u0438\u043b\u0438 \u041f\u041b\u0418\u0421). \u041e\u0431\u0440\u0430\u0449\u0443 \u043b\u0438\u0448\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0432\u043e\u0442 \u043d\u0430 \u0447\u0442\u043e: \u044f \u043e\u0447\u0435\u043d\u044c \u0434\u043e\u043b\u0433\u043e \u043d\u0435 \u043c\u043e\u0433 \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c, \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c \u0448\u0430\u0433\u043e\u043c \u0431\u044b\u043b\u043e \u043e\u0441\u043e\u0437\u043d\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0448\u0438\u0440\u0438\u043d\u0443 \u0432\u0441\u0435\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 \u043a \u043f\u0430\u043c\u044f\u0442\u0438 \u043d\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c\u0443 \u043a\u043e\u0434\u0443 \u043d\u0430 Verilog: \u0432\u0435\u0434\u044c \u043a\u043e\u0433\u0434\u0430 \u0432 <code>MemIfBundle<\/code> \u0443\u043a\u0430\u0437\u0430\u043d <code>val mem_ba = IO(Output(UInt(2.W)))<\/code>, \u0430 \u0431\u0430\u043d\u043a\u043e\u0432 8 (\u0442.\u0435. \u0430\u0434\u0440\u0435\u0441 \u0448\u0438\u0440\u0438\u043d\u043e\u0439 3 \u0431\u0438\u0442\u0430), \u0442\u043e \u0432\u0441\u0451, \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u2014 \u0432\u0438\u0441\u044f\u0449\u0438\u0439 \u0432 \u0432\u043e\u0437\u0434\u0443\u0445\u0435 output \u0438\u0437 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u043f\u0430\u043c\u044f\u0442\u0438 \u2014 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430, \u043d\u043e \u043d\u0435 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u0441\u0451 \u0441\u0438\u043d\u0442\u0435\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f, \u043d\u043e \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.<\/p>\n<p>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0432\u0441\u0451 \u0431\u044b \u0437\u0430\u0432\u0435\u043b\u043e\u0441\u044c \u0438 \u0441\u043e \u0441\u0442\u0430\u0440\u044b\u043c \u043c\u043e\u0434\u0443\u043b\u0435\u043c, \u0435\u0441\u043b\u0438 \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440, \u043d\u043e \u043f\u043e\u043a\u0430 \u0447\u0442\u043e \u043c\u043d\u0435 \u043b\u0435\u043d\u044c \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c\u0441\u044f \u0441 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0438\u043c\u0438 \u0431\u0430\u0433\u0430\u043c\u0438: \u043c\u043d\u0435 \u0438 \u0441\u0432\u043e\u0438\u0445 \u0445\u0432\u0430\u0442\u0430\u0435\u0442.<\/p>\n<p>\u0418\u0442\u0430\u043a, \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u044f <code>timebase-frequency<\/code> \u0432 DTS \u0441 \u0443\u0440\u043e\u0432\u043d\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e CPU \u043d\u0430 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0443\u0437\u043b\u0430 <code>cpus<\/code> (\u043f\u043e \u0432\u043f\u043e\u043b\u043d\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0441\u044c\u0431\u0435 \u044f\u0434\u0440\u0430), \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c:<\/p>\n<p><b class=\"spoiler_title\">\u0421\u043a\u0440\u044b\u0442\u044b\u0439 \u0442\u0435\u043a\u0441\u0442<\/b><\/p>\n<pre><code class=\"plaintext\">[    0.000000] OF: fdt: Ignoring memory range 0x80000000 - 0x80200000\n[    0.000000] Linux version 4.19.0-sifive-1+ (trosinenko@trosinenko-pc) (gcc version 8.3.0 (Buildroot 2019.02-07449-g4eddd28f99)) #1 SMP Tue Jul 9 22:42:36 MSK 2019\n[    0.000000] bootconsole [early0] enabled\n[    0.000000] Initial ramdisk at: 0x(____ptrval____) (16777216 bytes)\n[    0.000000] Zone ranges:\n[    0.000000]   DMA32    [mem 0x0000000080200000-0x00000000bfffffff]\n[    0.000000]   Normal   [mem 0x00000000c0000000-0x00000bffffffffff]\n[    0.000000] Movable zone start for each node\n[    0.000000] Early memory node ranges\n[    0.000000]   node   0: [mem 0x0000000080200000-0x00000000bfffffff]\n[    0.000000] Initmem setup node 0 [mem 0x0000000080200000-0x00000000bfffffff]\n[    0.000000] software IO TLB: mapped [mem 0xbb1fc000-0xbf1fc000] (64MB)\n[    0.000000] elf_hwcap is 0x112d\n[    0.000000] percpu: Embedded 17 pages\/cpu @(____ptrval____) s29400 r8192 d32040 u69632\n[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 258055\n[    0.000000] Kernel command line: debug console=ttySIF0,125200 root=\/dev\/mmcblk0p2 loglevel=7 rootwait\n[    0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes)\n[    0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes)\n[    0.000000] Sorting __ex_table...\n[    0.000000] Memory: 937696K\/1046528K available (6565K kernel code, 343K rwdata, 2564K rodata, 208K init, 832K bss, 108832K reserved, 0K cma-reserved)\n[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1\n[    0.000000] rcu: Hierarchical RCU implementation.\n[    0.000000] rcu:     RCU event tracing is enabled.\n[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=1.\n[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1\n[    0.000000] NR_IRQS: 0, nr_irqs: 0, preallocated irqs: 0\n[    0.000000] plic: mapped 8 interrupts to 1 (out of 2) handlers.\n[    0.000000] clocksource: riscv_clocksource: mask: 0xffffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 3526361616960 ns\n[    0.000000] Console: colour dummy device 80x25\n[    0.000000] Calibrating delay loop (skipped), value calculated using timer frequency.. 2.00 BogoMIPS (lpj=10000)\n[    0.020000] pid_max: default: 32768 minimum: 301\n[    0.030000] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes)\n[    0.040000] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes)\n[    0.140000] rcu: Hierarchical SRCU implementation.\n[    0.190000] smp: Bringing up secondary CPUs ...\n[    0.190000] smp: Brought up 1 node, 1 CPU\n[    0.220000] devtmpfs: initialized\n[    0.300000] random: get_random_u32 called from bucket_table_alloc+0x76\/0x17a with crng_init=0\n[    0.330000] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns\n[    0.340000] futex hash table entries: 256 (order: 2, 16384 bytes)\n[    0.380000] NET: Registered protocol family 16\n[    1.850000] vgaarb: loaded\n[    1.870000] SCSI subsystem initialized\n[    1.900000] usbcore: registered new interface driver usbfs\n[    1.910000] usbcore: registered new interface driver hub\n[    1.920000] usbcore: registered new device driver usb\n[    1.930000] pps_core: LinuxPPS API ver. 1 registered\n[    1.940000] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti &lt;giometti@linux.it&gt;\n[    1.950000] PTP clock support registered\n[    1.970000] Advanced Linux Sound Architecture Driver Initialized.\n[    2.010000] clocksource: Switched to clocksource riscv_clocksource\n[    2.600000] NET: Registered protocol family 2\n[    2.640000] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes)\n[    2.650000] TCP established hash table entries: 8192 (order: 4, 65536 bytes)\n[    2.670000] TCP bind hash table entries: 8192 (order: 5, 131072 bytes)\n[    2.700000] TCP: Hash tables configured (established 8192 bind 8192)\n[    2.720000] UDP hash table entries: 512 (order: 2, 16384 bytes)\n[    2.730000] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)\n[    2.750000] NET: Registered protocol family 1\n[    2.770000] Unpacking initramfs...\n[   23.980000] Initramfs unpacking failed: junk in compressed archive\n[   24.030000] workingset: timestamp_bits=62 max_order=18 bucket_order=0\n[   25.020000] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)\n[   25.030000] io scheduler noop registered\n[   25.040000] io scheduler deadline registered\n[   25.050000] io scheduler cfq registered (default)\n[   25.060000] io scheduler mq-deadline registered\n[   25.060000] io scheduler kyber registered\n[   25.120000] sifive_gpio 64002000.gpio: SiFive GPIO chip registered 6 GPIOs\n[   25.150000] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4\n[   28.870000] Serial: 8250\/16550 driver, 4 ports, IRQ sharing disabled\n[   28.940000] sifive-serial 64000000.serial: unable to find controller clock\n[   28.950000] sifive-serial: probe of 64000000.serial failed with error -2\n[   28.980000] [drm] radeon kernel modesetting enabled.\n[   28.990000] [drm] amdgpu kernel modesetting enabled.\n[   29.500000] loop: module loaded\n[   29.610000] sifive_spi 64001000.spi: Unable to find bus clock\n[   29.620000] sifive_spi: probe of 64001000.spi failed with error -2\n[   29.640000] libphy: Fixed MDIO Bus: probed\n[   29.680000] e1000e: Intel(R) PRO\/1000 Network Driver - 3.2.6-k\n[   29.690000] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.\n[   29.700000] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver\n[   29.710000] ehci-pci: EHCI PCI platform driver\n[   29.720000] ehci-platform: EHCI generic platform driver\n[   29.750000] mousedev: PS\/2 mouse device common for all mice\n[   29.790000] usbcore: registered new interface driver usbhid\n[   29.800000] usbhid: USB HID core driver\n[   29.820000] usbcore: registered new interface driver snd-usb-audio\n[   29.900000] NET: Registered protocol family 10\n[   29.960000] Segment Routing with IPv6\n[   29.960000] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver\n[   30.020000] NET: Registered protocol family 17\n[   30.020000] Key type dns_resolver registered\n[   30.070000] bootconsole [early0] uses init memory and must be disabled even before the real one is ready\n[   30.080000] bootconsole [early0] disabled<\/code><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u0432\u0438\u0434\u0438\u043c\u043e\u0433\u043e \u043d\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442.<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0431\u043e\u0440\u043e\u0442\u044c\u0441\u044f \u0441 \u0442\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438:<\/p>\n<pre><code class=\"plaintext\">[   23.980000] Initramfs unpacking failed: junk in compressed archive\n...\n[   28.940000] sifive-serial 64000000.serial: unable to find controller clock\n...\n[   29.610000] sifive_spi 64001000.spi: Unable to find bus clock<\/code><\/pre>\n<p>\u2026 \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441 \u043f\u0440\u0435\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u0435\u043c \u0432\u044b\u0432\u043e\u0434\u0430 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c.<\/p>\n<p>\u0421 \u0434\u0432\u0443\u043c\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438 \u0441 \u0447\u0430\u0441\u0442\u043e\u0442\u0430\u043c\u0438 \u043f\u043e\u0431\u043e\u0440\u043e\u0442\u044c\u0441\u044f \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u0441\u043b\u043e\u0436\u043d\u043e: \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u0443\u043d\u043a\u0442\u044b <code>clocks<\/code> \u0432 \u043f\u043e\u0434\u0434\u0435\u0440\u0435\u0432\u044c\u044f \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432, \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0434\u0430\u0432 \u043f\u043e\u043d\u044f\u0442\u043d\u043e\u0435 \u0438\u043c\u044f \u043c\u0435\u0442\u043a\u0438 \u0434\u043b\u044f \u0443\u0437\u043b\u0430 <code>tlclk<\/code>:<\/p>\n<pre><code class=\"diff\">diff --git a\/arch\/riscv\/dts\/zeowaa-1gb.dts b\/arch\/riscv\/dts\/zeowaa-1gb.dts\nindex 4b2cebc..1347e76 100644\n--- a\/arch\/riscv\/dts\/zeowaa-1gb.dts\n+++ b\/arch\/riscv\/dts\/zeowaa-1gb.dts\n@@ -96,6 +97,7 @@\n                 L8: serial@64000000 {\n                         compatible = \"sifive,uart0\";\n                         interrupt-parent = &lt;&amp;L0&gt;;\n+                        clocks = &lt;&amp;tlclk&gt;;\n                         interrupts = &lt;2&gt;;\n                         reg = &lt;0x64000000 0x1000&gt;;\n                         reg-names = \"control\";\n@@ -107,6 +109,7 @@\n                         interrupt-parent = &lt;&amp;L0&gt;;\n                         interrupts = &lt;1&gt;;\n                         reg = &lt;0x64001000 0x1000&gt;;\n+                        clocks = &lt;&amp;tlclk&gt;;\n                         reg-names = \"control\";\n                         L12: mmc@0 {\n                                 compatible = \"mmc-spi-slot\";\n@@ -116,7 +119,7 @@\n                                 voltage-ranges = &lt;3300 3300&gt;;\n                         };\n                 };\n-                L11: tlclk {\n+                tlclk: tlclk {\n                         #clock-cells = &lt;0&gt;;\n                         clock-frequency = &lt;25000000&gt;;\n                         clock-output-names = \"tlclk\";<\/code><\/pre>\n<p>\u0414\u043e\u0431\u0430\u0432\u0438\u0432 \u0441\u0442\u0440\u043e\u0447\u043a\u0443 <code>#define pr_debug printk<\/code> \u0432 \u043d\u0430\u0447\u0430\u043b\u043e \u0444\u0430\u0439\u043b\u0430 <code>init\/initramfs.c<\/code>, \u0432\u044b\u0432\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043f\u0440\u043e \u043c\u0443\u0441\u043e\u0440 \u0432\u043c\u0435\u0441\u0442\u043e initramfs \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0447\u0443\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435:<\/p>\n<pre><code class=\"plaintext\">[    2.760000] Unpacking initramfs...\n[    2.770000] Detected gzip compressed data\n[   23.940000] Detected (null) compressed data\n[   23.970000] Initramfs unpacking failed: junk in compressed archive<\/code><\/pre>\n<p>\u0422\u043e \u0435\u0441\u0442\u044c, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043c\u0443\u0441\u043e\u0440 \u043d\u0435 <strong>\u0432\u043c\u0435\u0441\u0442\u043e<\/strong> initramfs, \u0430 <strong>\u0432\u043c\u0435\u0441\u0442\u0435<\/strong>.<\/p>\n<p>\u041e\u043a\u0435\u0439, \u0447\u0442\u043e-\u0442\u043e \u043e\u043d \u043d\u0430\u0448\u0451\u043b, \u043c\u043e\u0436\u0435\u0442, \u0438 \u044d\u0442\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e. \u0410 \u043a\u0443\u0434\u0430 \u0434\u0435\u043b\u0430\u0441\u044c \u043a\u043e\u043d\u0441\u043e\u043b\u044c? \u041f\u043e\u0438\u0441\u043a \u0434\u0430\u0451\u0442 \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 issue \u043d\u0430 \u0413\u0438\u0442\u0445\u0430\u0431\u0435: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/sifive\/freedom-u-sdk\/issues\/62#issuecomment-403684481\">linux failed to bringup on vc707 board<\/a><\/noindex> \u2014 \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u043e\u0434\u0438\u043d UART \u044d\u0442\u043e, \u043f\u043e \u043c\u043d\u0435\u043d\u0438\u044e \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430, \u0434\u0430\u0436\u0435 \u043d\u0435 \u0441\u0442\u043e\u0438\u0442 \u0440\u0430\u0437\u0433\u043e\u0432\u043e\u0440\u043e\u0432. \u041d\u043e <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/sifive\/freedom-u-sdk\/pull\/64\">\u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435<\/a><\/noindex> \u0434\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043e 11 \u0438\u044e\u043b\u044f 2018 \u0433\u043e\u0434\u0430 \u2014 \u0433\u043e\u0434 \u043d\u0430\u0437\u0430\u0434. \u041e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u044d\u0442\u043e\u0442 \u043a\u043e\u043c\u043c\u0438\u0442 \u0442\u0430\u043a \u0438 \u043d\u0435 \u043f\u043e\u043f\u0430\u043b \u0432 \u0434\u0435\u0440\u0435\u0432\u043e, \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0443 \u043c\u0435\u043d\u044f \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u044f\u0434\u0440\u043e. \u0412\u0440\u0443\u0447\u043d\u0443\u044e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0432 \u044d\u0442\u043e\u0442 \u043f\u0430\u0442\u0447, \u044f \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u041b\u0438\u043d\u0443\u043a\u0441! \u041e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0441 initramfs \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0431\u044b\u043b\u0430, \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u043d\u0435 \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u0430\u044f.<\/p>\n<p>\u0417\u0430\u043b\u043e\u0433\u0438\u043d\u0438\u0432\u0448\u0438\u0441\u044c \u043a\u0430\u043a user=root, password=sifive, \u044f \u0441\u043c\u043e\u0433 \u0431\u0435\u0437 \u043e\u0441\u043e\u0431\u044b\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c (\u043a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c, \u0447\u0442\u043e \u0443 \u043d\u043e\u043c\u0435\u0440\u0430 GPIO \u0435\u0441\u0442\u044c base, \u043e\u0442 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0432\u0441\u0451 \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f, \u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0438\u0437 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u043f\u0441\u0435\u0432\u0434\u043e-\u0444\u0430\u0439\u043b\u0430) \u0447\u0435\u0440\u0435\u0437 <code>sysfs<\/code> \u0437\u0430\u0436\u0435\u0447\u044c \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434 \u043d\u0430 \u043f\u043b\u0430\u0442\u0435.<\/p>\n<p>\u041a\u0430\u043a \u0438 \u0432 \u043f\u0440\u043e\u0448\u043b\u044b\u0439 \u0440\u0430\u0437, \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u044e \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0435 \u0432\u0438\u0434\u0435\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 Linux. \u0412 \u043c\u043e\u043c\u0435\u043d\u0442 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u0441 earlyprintk \u043d\u0430 \u0448\u0442\u0430\u0442\u043d\u0443\u044e \u0438\u0434\u0451\u0442 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043c\u0443\u0441\u043e\u0440, \u043f\u043e\u0445\u043e\u0436\u0438\u0439 \u043d\u0430 \u0432\u044b\u0432\u043e\u0434 \u043f\u0440\u0438 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 UART. \u0427\u0442\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u043f\u043b\u0435\u0435\u0440 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043e\u0442\u0440\u0430\u0431\u043e\u0442\u0430\u043b \u044d\u0442\u0443 \u00ab\u043a\u0430\u0448\u0443\u00bb.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/asciinema.org\/a\/256637\"><img decoding=\"async\" alt=\"\u0427\u0430\u0441\u0442\u044c 4: \u0412\u0441\u0451-\u0442\u0430\u043a\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c Linux \u043d\u0430 RocketChip RISC-V\" src=\"\/wp-content\/uploads\/2019\/07\/860cd3dbcca1aa57e285df9426ce5f2b.jpg\" style=\"display:block;margin: 0 auto;\"><\/a><\/noindex><\/p>\n<p>\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/459470\/\">habr.com<\/a><\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435 Linux kernel \u0448\u043b\u0451\u0442 \u0432\u0430\u043c \u043f\u0440\u0438\u0432\u0435\u0442 \u0447\u0435\u0440\u0435\u0437 GPIO. \u0412 \u044d\u0442\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u0441 \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c RISC-V RocketChip \u043d\u0430 \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u0443\u044e \u043f\u043b\u0430\u0442\u0443 \u0441 Cyclone IV \u043c\u044b \u0432\u0441\u0451-\u0442\u0430\u043a\u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c Linux, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043d\u0430\u0443\u0447\u0438\u043c\u0441\u044f \u0441\u0430\u043c\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c IP Core \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u0447\u0443\u0442\u044c \u043f\u043e\u0434\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c dts-\u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u0443\u0440\u044b. \u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435\u043c \u0442\u0440\u0435\u0442\u044c\u0435\u0439 \u0447\u0430\u0441\u0442\u0438, \u043d\u043e, \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u0438\u0437\u0440\u044f\u0434\u043d\u043e \u0440\u0430\u0437\u0440\u043e\u0441\u0448\u0435\u0439\u0441\u044f \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439, \u043e\u043d\u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":26976,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-36076","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435 Linux kernel \u0448\u043b\u0451\u0442 \u0432\u0430\u043c \u043f\u0440\u0438\u0432\u0435\u0442 \u0447\u0435\u0440\u0435\u0437 GPIO. \u0412 \u044d\u0442\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u0441 \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c RISC-V RocketChip \u043d\u0430 \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u0443\u044e \u043f\u043b\u0430\u0442\u0443 \u0441 Cyclone IV \u043c\u044b \u0432\u0441\u0451-\u0442\u0430\u043a\u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c Linux, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043d\u0430\u0443\u0447\u0438\u043c\u0441\u044f \u0441\u0430\u043c\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c IP Core \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u0447\u0443\u0442\u044c \u043f\u043e\u0434\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c dts-\u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u0443\u0440\u044b. \u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435\u043c \u0442\u0440\u0435\u0442\u044c\u0435\u0439 \u0447\u0430\u0441\u0442\u0438, \u043d\u043e, \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u0438\u0437\u0440\u044f\u0434\u043d\u043e \u0440\u0430\u0437\u0440\u043e\u0441\u0448\u0435\u0439\u0441\u044f \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439, \u043e\u043d\u0430\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/chast-4-vsyo-taki-zapuskaem-linux-na-rocketchip-risc-v\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0427\u0430\u0441\u0442\u044c 4: \u0412\u0441\u0451-\u0442\u0430\u043a\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c Linux \u043d\u0430 RocketChip RISC-V | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435 Linux kernel \u0448\u043b\u0451\u0442 \u0432\u0430\u043c \u043f\u0440\u0438\u0432\u0435\u0442 \u0447\u0435\u0440\u0435\u0437 GPIO. \u0412 \u044d\u0442\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u0441 \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c RISC-V RocketChip \u043d\u0430 \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u0443\u044e \u043f\u043b\u0430\u0442\u0443 \u0441 Cyclone IV \u043c\u044b \u0432\u0441\u0451-\u0442\u0430\u043a\u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c Linux, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043d\u0430\u0443\u0447\u0438\u043c\u0441\u044f \u0441\u0430\u043c\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c IP Core \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u0447\u0443\u0442\u044c \u043f\u043e\u0434\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c dts-\u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u0443\u0440\u044b. \u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435\u043c \u0442\u0440\u0435\u0442\u044c\u0435\u0439 \u0447\u0430\u0441\u0442\u0438, \u043d\u043e, \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u0438\u0437\u0440\u044f\u0434\u043d\u043e \u0440\u0430\u0437\u0440\u043e\u0441\u0448\u0435\u0439\u0441\u044f \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439, \u043e\u043d\u0430\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/chast-4-vsyo-taki-zapuskaem-linux-na-rocketchip-risc-v\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:09:28+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-12-16T23:07:57+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Pjesa 4: N\u00eb fund, po nisim Linux n\u00eb RocketChip RISC-V | ProHoster","description":"N\u00eb figur\u00eb, b\u00ebrthama Linux ju d\u00ebrgon p\u00ebrsh\u00ebndetje n\u00ebp\u00ebrmjet GPIO. N\u00eb k\u00ebt\u00eb pjes\u00eb t\u00eb historis\u00eb s\u00eb portimit t\u00eb RISC-V RocketChip n\u00eb pllak\u00ebn kineze me Cyclone IV, ne do ta nisim Linux, po ashtu do t\u00eb m\u00ebsojm\u00eb si t\u00eb konfigurojm\u00eb vet\u00eb IP Core t\u00eb kontrollit t\u00eb memories dhe do t\u00eb b\u00ebjm\u00eb disa ndryshime n\u00eb p\u00ebrshkrimin dts t\u00eb pajisjeve. Ky artikull \u00ebsht\u00eb vazhdim i pjes\u00ebs s\u00eb tret\u00eb, por, ndryshe nga ajo q\u00eb ishte b\u00ebr\u00eb shum\u00eb e gjer\u00eb, ajo","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/chast-4-vsyo-taki-zapuskaem-linux-na-rocketchip-risc-v","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0427\u0430\u0441\u0442\u044c 4: \u0412\u0441\u0451-\u0442\u0430\u043a\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c Linux \u043d\u0430 RocketChip RISC-V | ProHoster","og:description":"\u041d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435 Linux kernel \u0448\u043b\u0451\u0442 \u0432\u0430\u043c \u043f\u0440\u0438\u0432\u0435\u0442 \u0447\u0435\u0440\u0435\u0437 GPIO. \u0412 \u044d\u0442\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u0441 \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c RISC-V RocketChip \u043d\u0430 \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u0443\u044e \u043f\u043b\u0430\u0442\u0443 \u0441 Cyclone IV \u043c\u044b \u0432\u0441\u0451-\u0442\u0430\u043a\u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c Linux, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043d\u0430\u0443\u0447\u0438\u043c\u0441\u044f \u0441\u0430\u043c\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c IP Core \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u0447\u0443\u0442\u044c \u043f\u043e\u0434\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c dts-\u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u0443\u0440\u044b. \u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435\u043c \u0442\u0440\u0435\u0442\u044c\u0435\u0439 \u0447\u0430\u0441\u0442\u0438, \u043d\u043e, \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u0438\u0437\u0440\u044f\u0434\u043d\u043e \u0440\u0430\u0437\u0440\u043e\u0441\u0448\u0435\u0439\u0441\u044f \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439, \u043e\u043d\u0430","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/chast-4-vsyo-taki-zapuskaem-linux-na-rocketchip-risc-v","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:09:28+00:00","article:modified_time":"2020-12-16T23:07:57+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"36076","title":null,"description":"","keywords":"","keyphrases":null,"primary_term":null,"canonical_url":"","og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-22 01:54:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:51:22","updated":"2026-01-22 01:54:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/36076","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=36076"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/36076\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/26976"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=36076"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=36076"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=36076"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}