All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] coreboot uboot qemu x86
@ 2014-12-29  4:38 Ajoy Das
  2014-12-29 14:06 ` Simon Glass
  0 siblings, 1 reply; 17+ messages in thread
From: Ajoy Das @ 2014-12-29  4:38 UTC (permalink / raw)
  To: u-boot

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@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


Thanks
Ajoy

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [U-Boot] coreboot uboot qemu x86
  2014-12-29  4:38 [U-Boot] coreboot uboot qemu x86 Ajoy Das
@ 2014-12-29 14:06 ` Simon Glass
  2014-12-29 14:34   ` Ajoy Das
  0 siblings, 1 reply; 17+ messages in thread
From: Simon Glass @ 2014-12-29 14:06 UTC (permalink / raw)
  To: u-boot

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?

Regards,
Simon

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [U-Boot] coreboot uboot qemu x86
  2014-12-29 14:06 ` Simon Glass
@ 2014-12-29 14:34   ` Ajoy Das
  2014-12-29 15:58     ` Simon Glass
  0 siblings, 1 reply; 17+ messages in thread
From: Ajoy Das @ 2014-12-29 14:34 UTC (permalink / raw)
  To: u-boot

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



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?
>
> Regards,
> Simon
>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [U-Boot] coreboot uboot qemu x86
  2014-12-29 14:34   ` Ajoy Das
@ 2014-12-29 15:58     ` Simon Glass
  2014-12-29 21:31       ` Ajoy Das
  0 siblings, 1 reply; 17+ messages in thread
From: Simon Glass @ 2014-12-29 15:58 UTC (permalink / raw)
  To: u-boot

Hi Ajoy,


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
>

Please avoid top posting as it doesn't work well on mailing lists.

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.

Regards,
Simon
>
>
> 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?
>>
>> Regards,
>> Simon
>
>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [U-Boot] coreboot uboot qemu x86
  2014-12-29 15:58     ` Simon Glass
@ 2014-12-29 21:31       ` Ajoy Das
  2014-12-29 22:47         ` Simon Glass
  0 siblings, 1 reply; 17+ messages in thread
From: Ajoy Das @ 2014-12-29 21:31 UTC (permalink / raw)
  To: u-boot

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


Thanks
Ajoy

On Mon, Dec 29, 2014 at 9:28 PM, Simon Glass <sjg@chromium.org> wrote:

> Hi Ajoy,
>
>
> 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
> >
>
> Please avoid top posting as it doesn't work well on mailing lists.
>
> 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.
>
> Regards,
> Simon
> >
> >
> > 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?
> >>
> >> Regards,
> >> Simon
> >
> >
>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [U-Boot] coreboot uboot qemu x86
  2014-12-29 21:31       ` Ajoy Das
@ 2014-12-29 22:47         ` Simon Glass
  2014-12-30  5:45           ` Ajoy Das
  0 siblings, 1 reply; 17+ messages in thread
From: Simon Glass @ 2014-12-29 22:47 UTC (permalink / raw)
  To: u-boot

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [U-Boot] coreboot uboot qemu x86
  2014-12-29 22:47         ` Simon Glass
@ 2014-12-30  5:45           ` Ajoy Das
  2014-12-30  8:10             ` Ajoy Das
  0 siblings, 1 reply; 17+ messages in thread
From: Ajoy Das @ 2014-12-30  5:45 UTC (permalink / raw)
  To: u-boot

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
>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [U-Boot] coreboot uboot qemu x86
  2014-12-30  5:45           ` Ajoy Das
@ 2014-12-30  8:10             ` Ajoy Das
  2014-12-30 19:44               ` [U-Boot] Fwd: " Ajoy Das
  0 siblings, 1 reply; 17+ messages in thread
From: Ajoy Das @ 2014-12-30  8:10 UTC (permalink / raw)
  To: u-boot

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
>>
>
>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [U-Boot] Fwd:  coreboot uboot qemu x86
  2014-12-30  8:10             ` Ajoy Das
@ 2014-12-30 19:44               ` Ajoy Das
  2014-12-30 20:43                 ` [U-Boot] " Simon Glass
  0 siblings, 1 reply; 17+ messages in thread
From: Ajoy Das @ 2014-12-30 19:44 UTC (permalink / raw)
  To: u-boot

---------- 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

Thanks
Ajoy

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [U-Boot] coreboot uboot qemu x86
  2014-12-30 19:44               ` [U-Boot] Fwd: " Ajoy Das
@ 2014-12-30 20:43                 ` Simon Glass
  2014-12-31  3:21                   ` [U-Boot] Fwd: " Ajoy Das
  0 siblings, 1 reply; 17+ messages in thread
From: Simon Glass @ 2014-12-30 20:43 UTC (permalink / raw)
  To: u-boot

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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [U-Boot] Fwd:  coreboot uboot qemu x86
  2014-12-30 20:43                 ` [U-Boot] " Simon Glass
@ 2014-12-31  3:21                   ` Ajoy Das
  2014-12-31  5:28                     ` Ajoy Das
  0 siblings, 1 reply; 17+ messages in thread
From: Ajoy Das @ 2014-12-31  3:21 UTC (permalink / raw)
  To: u-boot

---------- 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

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [U-Boot] Fwd:  coreboot uboot qemu x86
  2014-12-31  3:21                   ` [U-Boot] Fwd: " Ajoy Das
@ 2014-12-31  5:28                     ` Ajoy Das
  2014-12-31 18:52                       ` [U-Boot] " Simon Glass
  2015-01-02 16:35                       ` [U-Boot] Fwd: " Bin Meng
  0 siblings, 2 replies; 17+ messages in thread
From: Ajoy Das @ 2014-12-31  5:28 UTC (permalink / raw)
  To: u-boot

---------- Forwarded message ----------
From: Ajoy Das <dasajoy80@gmail.com>
Date: Wed, Dec 31, 2014 at 8:51 AM
Subject: Fwd: [U-Boot] coreboot uboot qemu x86
To: U-Boot Mailing List <u-boot@lists.denx.de>, Simon Glass <
sjg@chromium.org>



---------- 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

Hi Simon

I figured out the reason for the crash (u-boot.elf as the coreboot payload)
In uboot it is hitting this function and the panic statement is causing the
crash

u64 __attribute__((no_instrument_function)) get_ticks(void)
{
    u64 now_tick = rdtsc();

    /* We assume that 0 means the base hasn't been set yet */
    if (!gd->arch.tsc_base)
        panic("No tick base available");
    return now_tick - gd->arch.tsc_base;
}

Let me investigate it further.
If you have any inputs pleas let me know

Thanks
Ajoy

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [U-Boot] coreboot uboot qemu x86
  2014-12-31  5:28                     ` Ajoy Das
@ 2014-12-31 18:52                       ` Simon Glass
  2015-01-02 16:35                       ` [U-Boot] Fwd: " Bin Meng
  1 sibling, 0 replies; 17+ messages in thread
From: Simon Glass @ 2014-12-31 18:52 UTC (permalink / raw)
  To: u-boot

Hi Ajoy,

On 30 December 2014 at 22:28, Ajoy Das <dasajoy80@gmail.com> wrote:
[snip]

>>> 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
>
> Hi Simon
>
> I figured out the reason for the crash (u-boot.elf as the coreboot payload)
> In uboot it is hitting this function and the panic statement is causing the
> crash
>
> u64 __attribute__((no_instrument_function)) get_ticks(void)
> {
>     u64 now_tick = rdtsc();
>
>     /* We assume that 0 means the base hasn't been set yet */
>     if (!gd->arch.tsc_base)
>         panic("No tick base available");
>     return now_tick - gd->arch.tsc_base;
> }
>
> Let me investigate it further.
> If you have any inputs pleas let me know

I think you need to define CONFIG_COLLECT_TIMESTAMPS in coreboot to
make this work. You could send a part to improve the error messages
perhaps.

As mentioned I don't use the ELF file as a payload - I use u-boot-dtb.bin.

Regards,
Simon

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [U-Boot] Fwd: coreboot uboot qemu x86
  2014-12-31  5:28                     ` Ajoy Das
  2014-12-31 18:52                       ` [U-Boot] " Simon Glass
@ 2015-01-02 16:35                       ` Bin Meng
  2015-01-02 16:42                         ` [U-Boot] Fwd: " Ajoy Das
  1 sibling, 1 reply; 17+ messages in thread
From: Bin Meng @ 2015-01-02 16:35 UTC (permalink / raw)
  To: u-boot

Hi Ajoy,

On Wed, Dec 31, 2014 at 1:28 PM, Ajoy Das <dasajoy80@gmail.com> wrote:
> ---------- Forwarded message ----------
> From: Ajoy Das <dasajoy80@gmail.com>
> Date: Wed, Dec 31, 2014 at 8:51 AM
> Subject: Fwd: [U-Boot] coreboot uboot qemu x86
> To: U-Boot Mailing List <u-boot@lists.denx.de>, Simon Glass <
> sjg at chromium.org>
>
>
>
> ---------- 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
>
> Hi Simon
>
> I figured out the reason for the crash (u-boot.elf as the coreboot payload)
> In uboot it is hitting this function and the panic statement is causing the
> crash
>
> u64 __attribute__((no_instrument_function)) get_ticks(void)
> {
>     u64 now_tick = rdtsc();
>
>     /* We assume that 0 means the base hasn't been set yet */
>     if (!gd->arch.tsc_base)
>         panic("No tick base available");
>     return now_tick - gd->arch.tsc_base;
> }
>
> Let me investigate it further.
> If you have any inputs pleas let me know
>
> Thanks
> Ajoy
>

Looks like there are two places which are causing the qemu emulation
hang. The first one is as you mentioned the gd->arch.tsc_base is not
initialized to a non-zero value. I have a patch to fix this in U-Boot
coreboot support codes. This can make the qemu go a little bit further
to mark_bootstage(), but it still hangs in the get_tbclk_mhz() which
uses PIT and do the TSC frequency calibration. It seems that qemu
cannot support this hardware specific calibration method. I can send a
patch to use a pre-defined Kconfig option to bypass the calibration.
With the two fixes, the qemu boots to U-Boot shell. Log below.

Jumping to boot code at 01110015
CPU0: stack: 00127000 - 00128000, lowest used address 00127b1c, stack
used: 1252 bytes
entry    = 0x01110015
lb_start = 0x00100000
lb_size  = 0x0002c030
buffer   = 0x1ff74000


U-Boot 2015.01-rc4-17820-g125738e-dirty (Jan 03 2015 - 00:27:58)

CPU: x86, vendor Intel, device 663h
DRAM:  511.7 MiB
trace: copying 000a0928 bytes of early data from 1400000 to 1efcd000
trace: enabled
SPI:   ICH SPI: Cannot find device
ready
Using default environment

Video: No video mode configured in coreboot!
Model: Google Link
SCSI:  Error: SCSI Controller(s) 8086:27C1 8086:1C03 8086:1C02
8086:1E03 not found
Net:   No ethernet found.
Hit any key to stop autoboot:  0
=>

Regards,
Bin

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [U-Boot] Fwd:  Fwd: coreboot uboot qemu x86
  2015-01-02 16:35                       ` [U-Boot] Fwd: " Bin Meng
@ 2015-01-02 16:42                         ` Ajoy Das
  2015-01-03 14:45                           ` [U-Boot] " Bin Meng
  0 siblings, 1 reply; 17+ messages in thread
From: Ajoy Das @ 2015-01-02 16:42 UTC (permalink / raw)
  To: u-boot

---------- Forwarded message ----------
From: Bin Meng <bmeng.cn@gmail.com>
Date: Fri, Jan 2, 2015 at 10:05 PM
Subject: Re: [U-Boot] Fwd: coreboot uboot qemu x86
To: Ajoy Das <dasajoy80@gmail.com>
Cc: U-Boot Mailing List <u-boot@lists.denx.de>, Simon Glass <
sjg@chromium.org>


Hi Ajoy,

On Wed, Dec 31, 2014 at 1:28 PM, Ajoy Das <dasajoy80@gmail.com> wrote:
> ---------- Forwarded message ----------
> From: Ajoy Das <dasajoy80@gmail.com>
> Date: Wed, Dec 31, 2014 at 8:51 AM
> Subject: Fwd: [U-Boot] coreboot uboot qemu x86
> To: U-Boot Mailing List <u-boot@lists.denx.de>, Simon Glass <
> sjg at chromium.org>
>
>
>
> ---------- 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
>
> Hi Simon
>
> I figured out the reason for the crash (u-boot.elf as the coreboot
payload)
> In uboot it is hitting this function and the panic statement is causing
the
> crash
>
> u64 __attribute__((no_instrument_function)) get_ticks(void)
> {
>     u64 now_tick = rdtsc();
>
>     /* We assume that 0 means the base hasn't been set yet */
>     if (!gd->arch.tsc_base)
>         panic("No tick base available");
>     return now_tick - gd->arch.tsc_base;
> }
>
> Let me investigate it further.
> If you have any inputs pleas let me know
>
> Thanks
> Ajoy
>

Looks like there are two places which are causing the qemu emulation
hang. The first one is as you mentioned the gd->arch.tsc_base is not
initialized to a non-zero value. I have a patch to fix this in U-Boot
coreboot support codes. This can make the qemu go a little bit further
to mark_bootstage(), but it still hangs in the get_tbclk_mhz() which
uses PIT and do the TSC frequency calibration. It seems that qemu
cannot support this hardware specific calibration method. I can send a
patch to use a pre-defined Kconfig option to bypass the calibration.
With the two fixes, the qemu boots to U-Boot shell. Log below.

Jumping to boot code at 01110015
CPU0: stack: 00127000 - 00128000, lowest used address 00127b1c, stack
used: 1252 bytes
entry    = 0x01110015
lb_start = 0x00100000
lb_size  = 0x0002c030
buffer   = 0x1ff74000


U-Boot 2015.01-rc4-17820-g125738e-dirty (Jan 03 2015 - 00:27:58)

CPU: x86, vendor Intel, device 663h
DRAM:  511.7 MiB
trace: copying 000a0928 bytes of early data from 1400000 to 1efcd000
trace: enabled
SPI:   ICH SPI: Cannot find device
ready
Using default environment

Video: No video mode configured in coreboot!
Model: Google Link
SCSI:  Error: SCSI Controller(s) 8086:27C1 8086:1C03 8086:1C02
8086:1E03 not found
Net:   No ethernet found.
Hit any key to stop autoboot:  0
=>

Regards,
Bin

Hi Bin

I changed the those timer functions into simple for loop and the U-BOOT
init went forward but again it crashed in serial init

what is the command your are invoking qemu with.

And also if possible can you give me both the patches .

Thanks
Ajoy

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [U-Boot] Fwd: coreboot uboot qemu x86
  2015-01-02 16:42                         ` [U-Boot] Fwd: " Ajoy Das
@ 2015-01-03 14:45                           ` Bin Meng
  2015-01-12  8:23                             ` [U-Boot] Fwd: " Ajoy Das
  0 siblings, 1 reply; 17+ messages in thread
From: Bin Meng @ 2015-01-03 14:45 UTC (permalink / raw)
  To: u-boot

Hi Ajoy,

On Sat, Jan 3, 2015 at 12:42 AM, Ajoy Das <dasajoy80@gmail.com> wrote:
>
> ---------- Forwarded message ----------
> From: Bin Meng <bmeng.cn@gmail.com>
> Date: Fri, Jan 2, 2015 at 10:05 PM
> Subject: Re: [U-Boot] Fwd: coreboot uboot qemu x86
> To: Ajoy Das <dasajoy80@gmail.com>
> Cc: U-Boot Mailing List <u-boot@lists.denx.de>, Simon Glass
> <sjg@chromium.org>
>
>
> Hi Ajoy,
>
> On Wed, Dec 31, 2014 at 1:28 PM, Ajoy Das <dasajoy80@gmail.com> wrote:
>> ---------- Forwarded message ----------
>> From: Ajoy Das <dasajoy80@gmail.com>
>> Date: Wed, Dec 31, 2014 at 8:51 AM
>> Subject: Fwd: [U-Boot] coreboot uboot qemu x86
>> To: U-Boot Mailing List <u-boot@lists.denx.de>, Simon Glass <
>> sjg at chromium.org>
>>
>>
>>
>> ---------- 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
>>
>> Hi Simon
>>
>> I figured out the reason for the crash (u-boot.elf as the coreboot
>> payload)
>> In uboot it is hitting this function and the panic statement is causing
>> the
>> crash
>>
>> u64 __attribute__((no_instrument_function)) get_ticks(void)
>> {
>>     u64 now_tick = rdtsc();
>>
>>     /* We assume that 0 means the base hasn't been set yet */
>>     if (!gd->arch.tsc_base)
>>         panic("No tick base available");
>>     return now_tick - gd->arch.tsc_base;
>> }
>>
>> Let me investigate it further.
>> If you have any inputs pleas let me know
>>
>> Thanks
>> Ajoy
>>
>
> Looks like there are two places which are causing the qemu emulation
> hang. The first one is as you mentioned the gd->arch.tsc_base is not
> initialized to a non-zero value. I have a patch to fix this in U-Boot
> coreboot support codes. This can make the qemu go a little bit further
> to mark_bootstage(), but it still hangs in the get_tbclk_mhz() which
> uses PIT and do the TSC frequency calibration. It seems that qemu
> cannot support this hardware specific calibration method. I can send a
> patch to use a pre-defined Kconfig option to bypass the calibration.
> With the two fixes, the qemu boots to U-Boot shell. Log below.
>
> Jumping to boot code at 01110015
> CPU0: stack: 00127000 - 00128000, lowest used address 00127b1c, stack
> used: 1252 bytes
> entry    = 0x01110015
> lb_start = 0x00100000
> lb_size  = 0x0002c030
> buffer   = 0x1ff74000
>
>
> U-Boot 2015.01-rc4-17820-g125738e-dirty (Jan 03 2015 - 00:27:58)
>
> CPU: x86, vendor Intel, device 663h
> DRAM:  511.7 MiB
> trace: copying 000a0928 bytes of early data from 1400000 to 1efcd000
> trace: enabled
> SPI:   ICH SPI: Cannot find device
> ready
> Using default environment
>
> Video: No video mode configured in coreboot!
> Model: Google Link
> SCSI:  Error: SCSI Controller(s) 8086:27C1 8086:1C03 8086:1C02
> 8086:1E03 not found
> Net:   No ethernet found.
> Hit any key to stop autoboot:  0
> =>
>
> Regards,
> Bin
>
> Hi Bin
>
> I changed the those timer functions into simple for loop and the U-BOOT init
> went forward but again it crashed in serial init

Are you using ELF as the coreboot payload? As Simon mentioned, you
need use u-boot-dtb.bin as the coreboot payload.

> what is the command your are invoking qemu with.

./qemu-system-i386 -nographic -m 512 -bios coreboot.rom

> And also if possible can you give me both the patches .

I forgot to mention there are actually 3 issues which could prevent
u-boot from working in qemu. Please try this patch series @
http://lists.denx.de/pipermail/u-boot/2015-January/200099.html.

Regards,
Bin

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [U-Boot] Fwd:  Fwd: coreboot uboot qemu x86
  2015-01-03 14:45                           ` [U-Boot] " Bin Meng
@ 2015-01-12  8:23                             ` Ajoy Das
  0 siblings, 0 replies; 17+ messages in thread
From: Ajoy Das @ 2015-01-12  8:23 UTC (permalink / raw)
  To: u-boot

---------- Forwarded message ----------
From: Bin Meng <bmeng.cn@gmail.com>
Date: Sat, Jan 3, 2015 at 8:15 PM
Subject: Re: [U-Boot] Fwd: coreboot uboot qemu x86
To: Ajoy Das <dasajoy80@gmail.com>
Cc: U-Boot Mailing List <u-boot@lists.denx.de>, Simon Glass <
sjg@chromium.org>


Hi Ajoy,

On Sat, Jan 3, 2015 at 12:42 AM, Ajoy Das <dasajoy80@gmail.com> wrote:
>
> ---------- Forwarded message ----------
> From: Bin Meng <bmeng.cn@gmail.com>
> Date: Fri, Jan 2, 2015 at 10:05 PM
> Subject: Re: [U-Boot] Fwd: coreboot uboot qemu x86
> To: Ajoy Das <dasajoy80@gmail.com>
> Cc: U-Boot Mailing List <u-boot@lists.denx.de>, Simon Glass
> <sjg@chromium.org>
>
>
> Hi Ajoy,
>
> On Wed, Dec 31, 2014 at 1:28 PM, Ajoy Das <dasajoy80@gmail.com> wrote:
>> ---------- Forwarded message ----------
>> From: Ajoy Das <dasajoy80@gmail.com>
>> Date: Wed, Dec 31, 2014 at 8:51 AM
>> Subject: Fwd: [U-Boot] coreboot uboot qemu x86
>> To: U-Boot Mailing List <u-boot@lists.denx.de>, Simon Glass <
>> sjg at chromium.org>
>>
>>
>>
>> ---------- 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
>>
>> Hi Simon
>>
>> I figured out the reason for the crash (u-boot.elf as the coreboot
>> payload)
>> In uboot it is hitting this function and the panic statement is causing
>> the
>> crash
>>
>> u64 __attribute__((no_instrument_function)) get_ticks(void)
>> {
>>     u64 now_tick = rdtsc();
>>
>>     /* We assume that 0 means the base hasn't been set yet */
>>     if (!gd->arch.tsc_base)
>>         panic("No tick base available");
>>     return now_tick - gd->arch.tsc_base;
>> }
>>
>> Let me investigate it further.
>> If you have any inputs pleas let me know
>>
>> Thanks
>> Ajoy
>>
>
> Looks like there are two places which are causing the qemu emulation
> hang. The first one is as you mentioned the gd->arch.tsc_base is not
> initialized to a non-zero value. I have a patch to fix this in U-Boot
> coreboot support codes. This can make the qemu go a little bit further
> to mark_bootstage(), but it still hangs in the get_tbclk_mhz() which
> uses PIT and do the TSC frequency calibration. It seems that qemu
> cannot support this hardware specific calibration method. I can send a
> patch to use a pre-defined Kconfig option to bypass the calibration.
> With the two fixes, the qemu boots to U-Boot shell. Log below.
>
> Jumping to boot code at 01110015
> CPU0: stack: 00127000 - 00128000, lowest used address 00127b1c, stack
> used: 1252 bytes
> entry    = 0x01110015
> lb_start = 0x00100000
> lb_size  = 0x0002c030
> buffer   = 0x1ff74000
>
>
> U-Boot 2015.01-rc4-17820-g125738e-dirty (Jan 03 2015 - 00:27:58)
>
> CPU: x86, vendor Intel, device 663h
> DRAM:  511.7 MiB
> trace: copying 000a0928 bytes of early data from 1400000 to 1efcd000
> trace: enabled
> SPI:   ICH SPI: Cannot find device
> ready
> Using default environment
>
> Video: No video mode configured in coreboot!
> Model: Google Link
> SCSI:  Error: SCSI Controller(s) 8086:27C1 8086:1C03 8086:1C02
> 8086:1E03 not found
> Net:   No ethernet found.
> Hit any key to stop autoboot:  0
> =>
>
> Regards,
> Bin
>
> Hi Bin
>
> I changed the those timer functions into simple for loop and the U-BOOT
init
> went forward but again it crashed in serial init

Are you using ELF as the coreboot payload? As Simon mentioned, you
need use u-boot-dtb.bin as the coreboot payload.

> what is the command your are invoking qemu with.

./qemu-system-i386 -nographic -m 512 -bios coreboot.rom

> And also if possible can you give me both the patches .

I forgot to mention there are actually 3 issues which could prevent
u-boot from working in qemu. Please try this patch series @
http://lists.denx.de/pipermail/u-boot/2015-January/200099.html.

Regards,
Bin

Hi

Thanks The u-boot prompt is coming up with the patches provided by bin.
Let me boot the kernel on top of it.

Thanks
Ajoy

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2015-01-12  8:23 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-29  4:38 [U-Boot] coreboot uboot qemu x86 Ajoy Das
2014-12-29 14:06 ` Simon Glass
2014-12-29 14:34   ` Ajoy Das
2014-12-29 15:58     ` Simon Glass
2014-12-29 21:31       ` Ajoy Das
2014-12-29 22:47         ` Simon Glass
2014-12-30  5:45           ` Ajoy Das
2014-12-30  8:10             ` Ajoy Das
2014-12-30 19:44               ` [U-Boot] Fwd: " Ajoy Das
2014-12-30 20:43                 ` [U-Boot] " Simon Glass
2014-12-31  3:21                   ` [U-Boot] Fwd: " Ajoy Das
2014-12-31  5:28                     ` Ajoy Das
2014-12-31 18:52                       ` [U-Boot] " Simon Glass
2015-01-02 16:35                       ` [U-Boot] Fwd: " Bin Meng
2015-01-02 16:42                         ` [U-Boot] Fwd: " Ajoy Das
2015-01-03 14:45                           ` [U-Boot] " Bin Meng
2015-01-12  8:23                             ` [U-Boot] Fwd: " Ajoy Das

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.