Skip to contentSkip to conversation

lager - non-booting latest horms' devel branch

DISCUSSION Ben Dooks 2 participants 5 messages Jan 9, 2014

Subsystems (2)
lore
Share & tools
lore

Ben Dooks

author
#0 lore raw

I am using the devel branch from Simon Horms' git tree, SHA1 3da593ea7d797d9f59bd6ed1ee629fab681d7a23 and not seeing a boot when using the multi arch defconfig and device-tree.

The board does not produce any console output so I am not sure what is going on. Has anyone else had issues with using the fdt-only boot?

The arch setup is:

CONFIG_ARCH_SHMOBILE=y
CONFIG_ARCH_SHMOBILE_MULTI=y
CONFIG_MACH_LAGER=y

Signature · 2 lines
Ben Dooks				http://www.codethink.co.uk/
Senior Engineer				Codethink - Providing Genius
#1 lore raw

Hi Ben,

Quoted 7 lines · Ben Dooks

I am using the devel branch from Simon Horms' git tree, SHA1 3da593ea7d797d9f59bd6ed1ee629fab681d7a23 and not seeing a boot when using the multi arch defconfig and device-tree.

The board does not produce any console output so I am not sure what is going on. Has anyone else had issues with using the fdt-only boot?

I'm using Koelsch (not Lager), but usually the non-reference version as I need Ethernet for NFS root.
The DT-version does boot for me until mounting root.

Are you using an initramfs? I noticed the kernel crashes early when using a non-trivial initramfs:

Error: unrecognized/unsupported machine ID (r1 = 0x41915083).

Available machine support:

ID (hex) NAME
ffffffff Generic R8A7791 (Flattened Device Tree)
ffffffff koelsch

Please check your kernel config and/or bootloader.

Apparently the device tree gets overwritten in memory. I tried loading the DTB at a different address, but that didn't help. I didn't have more time to investigate, though.

FYI, I'm using the following patch to capture early kernel messages in RAM. After a reset, look up the addres of big_buffer[] in System.map, and inspect it from U-Boot to retrieve the messages (translate from 0xc0000000 to 0x40000000).

kernel/printk/printk.c +14 -0
index be7c86bae576..609bccc002ca 100644
@@ -46,6 +46,7 @@
 #include <linux/irq_work.h>
 #include <linux/utsname.h>
 
+#include <asm/cacheflush.h>
 #include <asm/uaccess.h>
 
 #define CREATE_TRACE_POINTS
@@ -1488,6 +1489,9 @@ static size_t cont_print_text(char *text, size_t size)
        return textlen;
 }
 
+static char big_buffer[256*1024];
+static size_t big_buffer_index;
+
 asmlinkage int vprintk_emit(int facility, int level,
                            const char *dict, size_t dictlen,
                            const char *fmt, va_list args)
@@ -1546,6 +1550,16 @@ asmlinkage int vprintk_emit(int facility, int level,
         * prefix which might be passed-in as a parameter.
         */
        text_len = vscnprintf(text, sizeof(textbuf), fmt, args);
+if (big_buffer_index + text_len < sizeof(big_buffer)) {
+    memcpy(&big_buffer[big_buffer_index], text, text_len + 1);
+    big_buffer_index += text_len;
+} else if (big_buffer_index < sizeof(big_buffer)) {
+    memset(&big_buffer[big_buffer_index], '*',
+          sizeof(big_buffer) - big_buffer_index);
+    big_buffer[sizeof(big_buffer) - 1] = 0;
+    big_buffer_index = sizeof(big_buffer);
+}
+flush_cache_all();
 
        /* mark and strip a trailing newline */
        if (text_len && text[text_len-1] = '\n') {

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

author
#2 lore raw
In reply to Ben Dooks
Quoted 11 lines · Geert Uytterhoeven

Hi Ben,

Quoted 7 lines · Ben Dooks

I am using the devel branch from Simon Horms' git tree, SHA1 3da593ea7d797d9f59bd6ed1ee629fab681d7a23 and not seeing a boot when using the multi arch defconfig and device-tree.

The board does not produce any console output so I am not sure what is going on. Has anyone else had issues with using the fdt-only boot?

Quoted 6 lines

I'm using Koelsch (not Lager), but usually the non-reference version as I need Ethernet for NFS root.
The DT-version does boot for me until mounting root.

Are you using an initramfs? I noticed the kernel crashes early when using a non-trivial initramfs:

No, we're just tftping and then nfs-root.

Quoted 8 lines

Error: unrecognized/unsupported machine ID (r1 = 0x41915083).

Available machine support:

ID (hex) NAME
ffffffff Generic R8A7791 (Flattened Device Tree)
ffffffff koelsch

Quoted 5 lines

Please check your kernel config and/or bootloader.

Apparently the device tree gets overwritten in memory. I tried loading the DTB at a different address, but that didn't help. I didn't have more time to investigate, though.

I've managed to get it to boot with another boot method, however that has other limitations...

Quoted 5 lines

FYI, I'm using the following patch to capture early kernel messages in RAM. After a reset, look up the addres of big_buffer[] in System.map, and inspect it from U-Boot to retrieve the messages (translate from 0xc0000000 to 0x40000000).

Ta, that's a useful thing to have

i am considering it may be a dtc compiler bug or some other issue with the device-tree.

Signature · 2 lines
Ben Dooks				http://www.codethink.co.uk/
Senior Engineer				Codethink - Providing Genius
author
#3 lore raw
In reply to Ben Dooks
Quoted 10 lines · Geert Uytterhoeven

Hi Ben,

Quoted 7 lines · Ben Dooks

I am using the devel branch from Simon Horms' git tree, SHA1 3da593ea7d797d9f59bd6ed1ee629fab681d7a23 and not seeing a boot when using the multi arch defconfig and device-tree.

The board does not produce any console output so I am not sure what is going on. Has anyone else had issues with using the fdt-only boot?

Ok, having looked at this we have the following issues:

sh_cmt sh _cmt.0: cannot get clock...4
sh_cmt: probe of sh_cmt.0 failed with error -2

sh-sci.4: can't get iclk.
sh-sci: probe of sh-sci.4 failed with error -2

Signature · 2 lines
Ben Dooks				http://www.codethink.co.uk/
Senior Engineer				Codethink - Providing Genius
author
#4 lore raw
In reply to Ben Dooks
Quoted 8 lines · Ben Dooks

I am using the devel branch from Simon Horms' git tree, SHA1 3da593ea7d797d9f59bd6ed1ee629fab681d7a23 and not seeing a boot when using the multi arch defconfig and device-tree.

The board does not produce any console output so I am not sure what is going on. Has anyone else had issues with using the fdt-only boot?

Quoted 5 lines

The arch setup is:

CONFIG_ARCH_SHMOBILE=y
CONFIG_ARCH_SHMOBILE_MULTI=y
CONFIG_MACH_LAGER=y

I've finally sorted this out, my install scripts where copying the old reference dtb instead of the new non-reference version.

Signature · 2 lines
Ben Dooks				http://www.codethink.co.uk/
Senior Engineer				Codethink - Providing Genius