Skip to contentSkip to conversation

mkconfig "arch" link generation

U-Boot Matteo Facchinetti 3 participants 7 messages Jul 14, 2010 – Jul 15, 2010

lore
Share & tools
lore
#0 lore raw

Hi,

I'm updating my uboot to mainline and I have a question about a link generate from mkconfig (with mpc5121_config).
Follwing link in "include/asm", I found a link named "arch" genarated by mkconfig.
This is broken so point to "arch-mpc512x" instead of "arch/powerpc/cpu/mpc512x".
Result is "#include <asm/arch/asm-offsets.h>" or similar are be broken.

How is the correct way to modify mkconfig?
I don't understand mean of link points "arch-mpc512x".

Regards,

Matteo Facchinetti

#1 lore raw
Quoted 2 lines · Matteo Facchinetti

Hi,

Hi Matteo,

Quoted 6 lines

I'm updating my uboot to mainline and I have a question about a link generate from mkconfig (with mpc5121_config).
Follwing link in "include/asm", I found a link named "arch" genarated by mkconfig.
This is broken so point to "arch-mpc512x" instead of "arch/powerpc/cpu/mpc512x".

Yes, the link is broken. However, all boards in the mainline using the MPC512x are compiled clean. This is because asm-offsets.h is included only by arch/powerpc/cpu/mpc512x/start.S with "#include "asm-offsets.h", and the compiler search for the file in the same directory of start.S and can find it.
The link is not required to compile the 512x boards supported currently by u-boot, but it must be set for the ARM architecture. Under the kernel, asm-offsets.h is auto-generated (I know, this is the best solution).

However, why do you need this file ? It should be required only by low level initialization in assembly, as it is done by start.S. After that, it is required in u-boot to access to registers/peripherals via C structures and not using offsets.

Quoted 3 lines

Result is "#include <asm/arch/asm-offsets.h>" or similar are be broken.

How is the correct way to modify mkconfig?

Probably not setting the link for powerpc, because it is not required.

Regards,
Stefano Babic

Signature · 5 lines
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de
=====================================================================
#2 lore raw
Quoted 9 lines · Stefano Babic
Quoted 3 lines · Matteo Facchinetti

Hi,

Hi Matteo,

Hi Stefano,

Quoted 17 lines
Quoted 7 lines

I'm updating my uboot to mainline and I have a question about a link generate from mkconfig (with mpc5121_config).
Follwing link in "include/asm", I found a link named "arch" genarated by mkconfig.
This is broken so point to "arch-mpc512x" instead of "arch/powerpc/cpu/mpc512x".

Yes, the link is broken. However, all boards in the mainline using the MPC512x are compiled clean. This is because asm-offsets.h is included only by arch/powerpc/cpu/mpc512x/start.S with "#include "asm-offsets.h", and the compiler search for the file in the same directory of start.S and can find it.
The link is not required to compile the 512x boards supported currently by u-boot, but it must be set for the ARM architecture. Under the kernel, asm-offsets.h is auto-generated (I know, this is the best solution).

Quoted 5 lines

However, why do you need this file ? It should be required only by low level initialization in assembly, as it is done by start.S. After that, it is required in u-boot to access to registers/peripherals via C structures and not using offsets.

Yes, you're rigth,
but I'm tring to write nand_spl driver for add nand boot support for my TWR-MPC5125 evaluation board.
In first step I take what I need from LTIB (freescale) and then I adjust the code for uboot mainline.
The part takes from LTIB of 2k first stage nandboot code uses directly SRAMBAR and SWCRR defines.

Now, I suppose, correct develop is to use the common c code in nand_spl directory and eventually customizing for my board unless use "include/asm/arch/..." for powerpc arch.
Is it true?

Quoted 11 lines
Quoted 4 lines

Result is "#include <asm/arch/asm-offsets.h>" or similar are be broken.

How is the correct way to modify mkconfig?

Probably not setting the link for powerpc, because it is not required.

Regards,
Stefano Babic

#3 lore raw
Quoted 1 line · Matteo Facchinetti

Hi Stefano,

Hi Matteo,

Quoted 8 lines

Yes, you're rigth,
but I'm tring to write nand_spl driver for add nand boot support for my TWR-MPC5125 evaluation board.
In first step I take what I need from LTIB (freescale) and then I adjust the code for uboot mainline.
The part takes from LTIB of 2k first stage nandboot code uses directly SRAMBAR and SWCRR defines.

Quoted 4 lines

Now, I suppose, correct develop is to use the common c code in nand_spl directory and eventually customizing for my board unless use "include/asm/arch/..." for powerpc arch.
Is it true?

Yes, and if you see under nand_spl/boar you have some examples how to find additional files. You see that in Makefiles some local link are created, and you could use the same mechanism to have a local asm-offsets.h

However, I agree that we should not generate broken link and IMHO the position of asm-offsets.h is wrong. But again, the best thing should be to generate this file automatically importing the mechanism from the kernel.

Best regards,
Stefano

Signature · 5 lines
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de
=====================================================================
#4 lore raw
In reply to Matteo Facchinetti

Dear Matteo Facchinetti,

Quoted 3 lines · In message <[email protected]> you wrote:

I'm updating my uboot to mainline and I have a question about a link generate from mkconfig (with mpc5121_config).

Which code are you talkign about? There is no target mpc5121_config supported in mainline...

Quoted 2 lines

How is the correct way to modify mkconfig?
I don't understand mean of link points "arch-mpc512x".

I think you must be doing something wrong. Please give the exact commit id you are referring to, and the exact commands you use.

Best regards,

Wolfgang Denk

Signature · 6 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
No, I'm not going to explain it. If you  can't  figure  it  out,  you
didn't want to know anyway... :-)
                   - Larry Wall in <[email protected]>
#5 lore raw
Quoted 12 lines · Wolfgang Denk

Dear Matteo Facchinetti,

Quoted 3 lines · In message <[email protected]> you wrote:

I'm updating my uboot to mainline and I have a question about a link generate from mkconfig (with mpc5121_config).

Which code are you talkign about? There is no target mpc5121_config supported in mainline...

yes,
I've started from mpc5121ads_config but mpc5121ads_rev2_config is the same. U-boot head mainline version. ( 54841ab50c20d6fa6c9cc3eb826989da3a22d934 )

In practice:

$ make distclean
$ ls -l include/asm/arch
ls: cannot access include/asm/arch: No such file or directory
$ make mpc5121ads_config
Configuring for mpc5121ads board...
$ ls -l include/asm/arch
lrwxrwxrwx 1 teox teox 12 2010-07-15 09:02 include/asm/arch -> arch-mpc512x

Regards,
Matteo Facchinetti

#6 lore raw

Dear Matteo Facchinetti,

Quoted 5 lines · In message <[email protected]> you wrote:
Quoted 4 lines

Which code are you talkign about? There is no target mpc5121_config supported in mainline...

yes,

No.

Quoted 2 lines

I've started from mpc5121ads_config but mpc5121ads_rev2_config is the same. U-boot head mainline version. ( 54841ab50c20d6fa6c9cc3eb826989da3a22d934 )

Note that there is a difference between "mpc5121ads_config" and "mpc5121_config" - please make sure to be precise in your statements.

Quoted 9 lines

In practice:

$ make distclean
$ ls -l include/asm/arch
ls: cannot access include/asm/arch: No such file or directory
$ make mpc5121ads_config
Configuring for mpc5121ads board...
$ ls -l include/asm/arch
lrwxrwxrwx 1 teox teox 12 2010-07-15 09:02 include/asm/arch -> arch-mpc512x

Yes, so what? This doesn't seem to hurt for any of the existing boards?

Best regards,

Wolfgang Denk

Signature · 4 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Artificial Intelligence is no match for natural stupidity.