make the machid configurable via the environment (Was: [PATCH] Changed load address and entry point for uImage to ZRELADDR + 6MB)
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): [email protected]
PATCH 1/1 make the machid configurable via the environment (Was: [PATCH] Changed load address and entry point for uImage to ZRELADDR + 6MB)
Hello Nicolas,
Quoted 8 lines · Nicolas Pitre
Quoted 4 lines
But does U-Boot properly provide machine information to the kernel these days? I have been and still being burned by U-Boot hardcoding the _wrong_ machine ID, and therefore custom built kernels from k.o simply won't boot on those boards without hacking the kernel source.
With "our" U-Boot you can override the compiled-in machid with an environment variable. I didn't implement this patch but I think it's not that difficult. I will check tomorrow if I can easily get a patch out of our scm.
It took a bit longer, but here it comes. This is on top of todays u-boot.
I didn't tested this patch in that version, but this is how it is done in our version of U-Boot (that is considerable older).
Switching the machid is also very convenient because we have modules that can be plugged on different base boards and so can use different machids.
Best regards
Uwe
--->8---
From: Uwe Kleine-K?nig <[email protected]>
make the machid configurable via the environment
If the variable "machid" exists, let do_bootm_linux use that instead of bd->bi_arch_number.
--- lib_arm/armlinux.c | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletions(-)
lib_arm/armlinux.c +9 -1
@@ -78,6 +78,8 @@ void do_bootm_linux (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],void (*theKernel)(int zero,int arch,uint params);image_header_t *hdr = &header;bd_t *bd = gd->bd; +int machid = bd->bi_arch_number; +char *s;#ifdef CONFIG_CMDLINE_TAG char *commandline =getenv ("bootargs" );
@@ -85,6 +87,12 @@ void do_bootm_linux (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[], theKernel = (void (*)(int ,int ,uint ))ntohl (hdr->ih_ep); + s =getenv ("machid" ); +if (s) { + machid =simple_strtoul (s,NULL ,16 ); +printf ("Using machid 0x%x from environment\n" , machid); + } +/* * Check if there is an initrd image */
@@ -260,7 +268,7 @@ void do_bootm_linux (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],cleanup_before_linux (); -theKernel (0 , bd->bi_arch_number, bd->bi_boot_params); +theKernel (0 , machid, bd->bi_boot_params); }
Signature · 7 lines
1.5.3.8 -- Uwe Kleine-K?nig, Software Engineer Digi International GmbH Branch Breisach, K?ferstrasse 8, 79206 Breisach, Germany Tax: 315/5781/0242 / VAT: DE153662976 / Reg. Amtsgericht Dortmund HRB 13962
PATCH 1/1 make the machid configurable via theenvironment (Was: [PATCH] Changed load address and entrypoint for uImage to ZRELADDR + 6MB)
Quoted 8 lines · Nicolas Pitre
Quoted 4 lines
But does U-Boot properly provide machine information to the kernel these days? I have been and still being burned by U-Boot hardcoding the _wrong_ machine ID, and therefore custom built kernels from k.o simply won't boot on those boards without hacking the kernel source.
With "our" U-Boot you can override the compiled-in machid with an environment variable. I didn't implement this patch but I think it's not that difficult. I will check tomorrow if I can easily get a patch out of our scm.
I proposed this patch for a long time, but it was rejected by Wolfgang.
I am seeing multiple companies implementing small CPU modules incorporating CPU + FPGA, and the customers will adopt the FPGA code for their own need, and then they need to create a new machine id.
Having such a patch will allow people in this situation to use the U-Boot on the board without recompilation.
Best Regards
Ulf Samuelsson
PATCH 1/1 make the machid configurable via theenvironment (Was: [PATCH] Changed load address and entrypoint for uImage to ZRELADDR + 6MB)
Quoted 11 lines · Ulf Samuelsson
Quoted 8 lines · Nicolas Pitre
Quoted 4 lines
But does U-Boot properly provide machine information to the kernel these days? I have been and still being burned by U-Boot hardcoding the _wrong_ machine ID, and therefore custom built kernels from k.o simply won't boot on those boards without hacking the kernel source.
With "our" U-Boot you can override the compiled-in machid with an environment variable. I didn't implement this patch but I think it's not that difficult. I will check tomorrow if I can easily get a patch out of our scm.
I proposed this patch for a long time, but it was rejected by Wolfgang.
And may Wolfgang explain just why?
Quoted 6 lines
I am seeing multiple companies implementing small CPU modules incorporating CPU + FPGA, and the customers will adopt the FPGA code for their own need, and then they need to create a new machine id.
Having such a patch will allow people in this situation to use the U-Boot on the board without recompilation.
Yes, and it will considerably reduce the grundge against U-Boot from kernel people, myself included.
The current situation with U-Boot simply encourage people to put stupid hacks in the kernel instead in order to work around this U-Boot artificial limitation, which is not bringing any sympathy for better U-Boot support in the kernel build system amongst other things.
So I'm asking for Wolfgang to seriously reconsider accepting this patch.
Nicolas
PATCH 1/1 make the machid configurable via theenvironment (Was: [PATCH] Changed load address and entrypoint for uImage to ZRELADDR + 6MB)
In reply to Ulf SamuelssonQuoted 11 lines · Ulf Samuelsson
Quoted 8 lines · Nicolas Pitre
Quoted 4 lines
But does U-Boot properly provide machine information to the kernel these days? I have been and still being burned by U-Boot hardcoding the _wrong_ machine ID, and therefore custom built kernels from k.o simply won't boot on those boards without hacking the kernel source.
With "our" U-Boot you can override the compiled-in machid with an environment variable. I didn't implement this patch but I think it's not that difficult. I will check tomorrow if I can easily get a patch out of our scm.
I proposed this patch for a long time, but it was rejected by Wolfgang.
One solution to that problem is to have someone who maintains a separate tree for uboot which does have the feature in. Then it becomes a matter of community choice whether they use the official tree or the tree with sensible machine-id configurability.
That way, those who want the configurability can have it, and Wolfgang can avoid having his tree polluted with useful features he doesn't want.
PATCH 1/1 make the machid configurable via theenvironment (Was: [PATCH] Changed load address and entrypoint for uImage to ZRELADDR + 6MB)
Quoted 10 lines · In message <[email protected]> you wrote:
Quoted 2 lines
I proposed this patch for a long time, but it was rejected by Wolfgang.
One solution to that problem is to have someone who maintains a separate tree for uboot which does have the feature in. Then it becomes a matter of community choice whether they use the official tree or the tree with sensible machine-id configurability.
That way, those who want the configurability can have it, and Wolfgang can avoid having his tree polluted with useful features he doesn't want.
Russel, are you by chance volunteering to become the custodian for the ARM related parts of U-Boot? Just let me know...
BTW: do you actually know what you are commenting about? Did you look up Ulf's proposal and the reject message in the U-Boot mailing list archive?
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 What is wanted is not the will to believe, but the will to find out, which is the exact opposite. -- Bertrand Russell, "Skeptical Essays", 1928
PATCH 1/1 make the machid configurable via theenvironment (Was: [PATCH] Changed load address and entrypoint for uImage to ZRELADDR + 6MB)
Quoted 9 lines · Wolfgang Denk
Quoted 8 lines · In message <[email protected]> you wrote:
Quoted 2 lines
I proposed this patch for a long time, but it was rejected by Wolfgang.
One solution to that problem is to have someone who maintains a separate tree for uboot which does have the feature in. Then it becomes a matter of community choice whether they use the official tree or the tree with sensible machine-id configurability.
Quoted 5 lines
Quoted 2 lines
That way, those who want the configurability can have it, and Wolfgang can avoid having his tree polluted with useful features he doesn't want.
Russel, are you by chance volunteering to become the custodian for the ARM related parts of U-Boot? Just let me know...
Wulfgage, no I am not.
Quoted 3 lines
BTW: do you actually know what you are commenting about? Did you look up Ulf's proposal and the reject message in the U-Boot mailing list archive?
Duh. I think everyone knows the answer to those questions who've seen my past comments on this subject - and it's plainly obvious what the answer to the second question is.
PATCH 1/1 make the machid configurable via theenvironment (Was: [PATCH] Changed load address and entrypoint for uImage to ZRELADDR + 6MB)
In reply to Ulf SamuelssonQuoted 2 lines · In message <[email protected]> you wrote:
I proposed this patch for a long time, but it was rejected by Wolfgang.
Either you did it differently, or I changed my mind.
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 Due to lack of disk space, this fortune database has been discontinued.
PATCH 1/1 make the machid configurable via the environment (Was: [PATCH] Changed load address and entry point for uImage to ZRELADDR + 6MB)
In reply to Uwe Kleine-KönigQuoted 9 lines · In message <[email protected]> you wrote:
From: Uwe Kleine-K=F6nig <[email protected]>
make the machid configurable via the environment
If the variable "machid" exists, let
do_bootm_linuxuse that instead ofbd->bi_arch_number.Signed-off-by Uwe Kleine-K=F6nig <[email protected]>
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 "There are three principal ways to lose money: wine, women, and en- gineers. While the first two are more pleasant, the third is by far the more certain." -- Baron Rothschild, ca. 1800
Wolfgang Denk
AppliedPATCH 1/1 make the machid configurable via the environment (Was: [PATCH] Changed load address and entry point for uImage to ZRELADDR + 6MB)
In reply to Uwe Kleine-KönigQuoted 10 lines · In message <[email protected]> you wrote:
make the machid configurable via the environment
If the variable "machid" exists, let
do_bootm_linuxuse that instead ofbd->bi_arch_number.Signed-off-by Uwe Kleine-K=F6nig <[email protected]>--- lib_arm/armlinux.c | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletions(-)
Applied, thanks.
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
If I don't document something, it's usually either for a good reason,
or a bad reason. In this case it's a good reason. :-)
- Larry Wall in <[email protected]>