
---------- Forwarded message ---------- From: Simon Glass sjg@chromium.org Date: Wed, Dec 31, 2014 at 2:13 AM Subject: Re: [U-Boot] coreboot uboot qemu x86 To: Ajoy Das dasajoy80@gmail.com Cc: U-Boot Mailing List u-boot@lists.denx.de
Hi Ajoy,
On 30 December 2014 at 12:44, Ajoy Das dasajoy80@gmail.com wrote:
---------- Forwarded message ---------- From: Ajoy Das dasajoy80@gmail.com Date: Tue, Dec 30, 2014 at 1:40 PM Subject: Re: [U-Boot] coreboot uboot qemu x86 To: U-Boot Mailing List u-boot@lists.denx.de
Hi Simon
Can i do a gdb on u-boot startup on the coreboot environment. means i want to stop at _start in uboot and connect to gdb.
Thanks Ajoy
On Tue, Dec 30, 2014 at 11:15 AM, Ajoy Das dasajoy80@gmail.com wrote:
I tried changing the boot rom size to 2MB. But with no effect
coreboot.rom: 2048 kB, bootblocksize 944, romsize 2097152, offset 0x0 alignment: 64 bytes, architecture: x86
Name Offset Type Size cmos_layout.bin 0x0 cmos_layout 1160 fallback/romstage 0x4c0 stage 17960 fallback/ramstage 0x4b40 stage 56190 config 0x12700 raw 2990 revision 0x13300 raw 692 (empty) 0x13600 null 2016728 HOSTCC cbfstool/rmodtool.o
Thanks Ajoy
On Tue, Dec 30, 2014 at 4:17 AM, Simon Glass sjg@chromium.org wrote:
Hi Ajoy,
On Mon, Dec 29, 2014 at 9:28 PM, Simon Glass sjg@chromium.org wrote:
Hi Ajoy,
On Mon, Dec 29, 2014 at 7:36 PM, Simon Glass sjg@chromium.org wrote: > > Hi, > > On 28 December 2014 at 21:38, Ajoy Das dasajoy80@gmail.com
wrote:
> > Hi > > > > Need Help > > > > I want to run U-BOOT as coreboot payload on QEMU platform > > > > I am on uboot-x86 git > > > > Compiled U-BOOT with make coreboot-x86_defconfig and make all > > > > Running qemu with > > qemu-system-i386 -bios ../coreboot/build/coreboot.rom -hda > > disk.img > > -nographic -m 1g > > > > But The system crashes with the following message > > > > qemu: fatal: Trying to execute code outside RAM or ROM at > > 0x5e2a36c2 > > > > Loading Segment: addr: 0x0000000001110000 memsz: > > 0x00000000000588e8 > > filesz: > > 0x00000000000252eb > > lb: [0x0000000000100000, 0x000000000012b030) > > Post relocation: addr: 0x0000000001110000 memsz: > > 0x00000000000588e8 > > filesz: > > 0x00000000000252eb > > using LZMA > > [ 0x01110000, 011688e8, 0x011688e8) <- fffd2770 > > dest 01110000, end 011688e8, bouncebuffer 3ff77000 > > Loaded segments > > Jumping to boot code at 01110015 > > CPU0: stack: 00126000 - 00127000, lowest used address 00126b8c, > > stack > > used: > > 1140 bytes > > entry = 0x01110015 > > lb_start = 0x00100000 > > lb_size = 0x0002b030 > > buffer = 0x3ff77000 > > qemu: fatal: Trying to execute code outside RAM or ROM at > > 0x5e2a36c2 > > > > EAX=0000000a EBX=000186a0 ECX=01145d15 EDX=19203eb0 > > ESI=00000000 EDI=00000000 EBP=01145f6c ESP=01145f54 > > EIP=5e2a36c2 EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0 > > ES =0018 00000000 ffffffff 00cf9300 DPL=0 DS [-WA] > > CS =0010 00000000 ffffffff 00cf9b00 DPL=0 CS32 [-RA] > > SS =0018 00000000 ffffffff 00cf9300 DPL=0 DS [-WA] > > DS =0018 00000000 ffffffff 00cf9300 DPL=0 DS [-WA] > > FS =0020 19203f5c ffffffff 00cf9300 DPL=0 DS [-WA] > > GS =0018 00000000 ffffffff 00cf9300 DPL=0 DS [-WA] > > LDT=0000 00000000 0000ffff 00008200 DPL=0 LDT > > TR =0000 00000000 0000ffff 00008b00 DPL=0 TSS32-busy > > GDT= 19203e60 00000047 > > IDT= 00000000 00000000 > > CR0=60000033 CR2=00000000 CR3=00000000 CR4=00000000 > > DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000 > > DR6=ffff0ff0 DR7=00000400 > > CCS=00000218 CCD=01145f50 CCO=ADDL > > EFER=0000000000000000 > > FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00001f80 > > FPR0=0000000000000000 0000 FPR1=0000000000000000 0000 > > FPR2=0000000000000000 0000 FPR3=0000000000000000 0000 > > FPR4=0000000000000000 0000 FPR5=0000000000000000 0000 > > FPR6=0000000000000000 0000 FPR7=0000000000000000 0000 > > XMM00=00000000000000000000000000000000 > > XMM01=00000000000000000000000000000000 > > XMM02=00000000000000000000000000000000 > > XMM03=00000000000000000000000000000000 > > XMM04=00000000000000000000000000000000 > > XMM05=00000000000000000000000000000000 > > XMM06=00000000000000000000000000000000 > > XMM07=00000000000000000000000000000000 > > Aborted (core dumped) > > > > qemu-system-i386 --version > > QEMU emulator version 1.0 (qemu-kvm-1.0), Copyright (c)
2003-2008
> > Fabrice > > Bellard > > > > Is QEMU not supported for coreboot and u-boot > > I'm not sure it's been tried but there's no reason why it should > work. > It seems to be crashing in U-Boot before there is any serial > output. > Did you put u-boot-dtb.bin as the payload?
On 29 December 2014 at 07:34, Ajoy Das dasajoy80@gmail.com wrote:
Hi Simon
Thanks for your reply
I have added u-boot ELF as the coreboot payload
u-boot: ELF 32-bit LSB shared object, Intel 80386, version 1
(SYSV),
statically linked, not stripped.
Got this link but its a year old. http://lists.denx.de/pipermail/u-boot/2013-July/159140.html
Thanks Ajoy
[snip]
I suggest using cbfstool add-flat-binary -f u-boot-dtb.bin -n fallback/payload -c lzma -l <text_base> -e <entry>
For text_base use CONFIG_SYS_TEXT_BASE which is probably 1110000
For entry use _start which is probably 1110015.
Of course I'm not sure whether your problem is with Coreboot, U-Boot or qemu, but we'll see.
Also, please can you reply to the list with instructions when you get it working, or send a patch to doc/README.x86.
PLEASE add your reply below mine, not above. I have gone to the trouble of rearranging the thread for this email.
Also leave me on Cc otherwise I might not see your reply.
On 29 December 2014 at 14:31, Ajoy Das dasajoy80@gmail.com wrote:
Hi Simon
I executed the commands mentioned above. But getting LZMA decode error on coreboot
coreboot.rom: 256 kB, bootblocksize 944, romsize 262144, offset 0x0 alignment: 64 bytes, architecture: x86
Name Offset Type Size cmos_layout.bin 0x0 cmos_layout 1160 fallback/romstage 0x4c0 stage 17960 fallback/ramstage 0x4b40 stage 56161 config 0x12700 raw 2986 revision 0x13300 raw 692 (empty) 0x13600 null 181720
./cbfstool ../../coreboot.rom add-flat-binary -v -f /home/ajoy/CISCO-2/uboot/u-boot/u-boot-dtb.bin -n fallback/payload -c lzma -l 01110000 -e 1110015
fallback/payload 0x13600 payload 173965 code (LZMA compression, offset: 0x38, load: 0x49000, length: 173909/391062) entry (0x10efff) (empty) 0x3de00 null 7640
Wrote coreboot table at: 3ffce000, 0x154 bytes, checksum 8ea6 coreboot table: 364 bytes. CBMEM ROOT 0. 3ffff000 00001000 CAR GLOBALS 1. 3fffe000 00001000 ROMSTAGE 2. 3fffd000 00001000 GDT 3. 3fffc000 00001000 IRQ TABLE 4. 3fffb000 00001000 ACPI 5. 3ffd7000 00024000 SMBIOS 6. 3ffd6000 00001000 COREBOOT 7. 3ffce000 00008000 CBFS: located payload @ fffd3638, 173965 bytes. Loading segment from rom address 0xfffd3638 code (compression=1) New segment dstaddr 0x49000 memsize 0x5f796 srcaddr 0xfffd3670 filesize 0x2a755 (cleaned up) New segment addr 0x49000 size 0x5f796 offset 0xfffd3670 filesize 0x2a755 Loading segment from rom address 0xfffd3654 Entry Point 0x0010efff Payload being loaded below 1MiB without region being marked as RAM usable. Bounce Buffer at 3ff77000, 352352 bytes Loading Segment: addr: 0x0000000000049000 memsz: 0x000000000005f796 filesz: 0x000000000002a755 lb: [0x0000000000100000, 0x000000000012b030) Post relocation: addr: 0x0000000000049000 memsz: 0x000000000005f796 filesz: 0x000000000002a755 using LZMA lzma: Decoding error = 1 Could not load payload
Do you really have a 256KB ROM? That seems much too small to hold Coreboot and U-Boot. It looks like U-Boot alone is 173KB.
Regards, Simon
Hi Simon
I have build tested the same by increasing the ROM size to 2MB but with no effect. Can I stop (using GDB) at the U-BOOT startup code after the control is transferred from coreboot to u-boot
Any other suggestion
If you are seeing an LZMA decoding error then I doubt that U-Boot is actually running, since it failed to load. Have you managed to fix that error?
Regards, Simon
Hi simon
No I have not fixed the LZMA error. But I was thinking of the payload as u-boot.elf. Is u-boot.elf is not the correct payload.
Thanks Ajoy