[U-Boot] [PATCH] VxWorks: fixup MAC address for VxWorks

VxWorks 7 kernels retrieve 'local-mac-addr' from dtb and use that for NIC MAC address. As a result, when booting the same kernel image on multiple boards, there will be address conflicts.
So fixup MAC address when booting VxWorks 7 kernels
Signed-off-by: Miao Yan yanmiaobest@gmail.com --- common/bootm_os.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/common/bootm_os.c b/common/bootm_os.c index 72477f0..cb83f4a 100644 --- a/common/bootm_os.c +++ b/common/bootm_os.c @@ -288,6 +288,8 @@ void do_bootvx_fdt(bootm_headers_t *images) if (ret) return;
+ fdt_fixup_ethernet(*of_flat_tree); + ret = fdt_add_subnode(*of_flat_tree, 0, "chosen"); if ((ret >= 0 || ret == -FDT_ERR_EXISTS)) { bootline = getenv("bootargs");

On Wed, Dec 2, 2015 at 3:39 PM, Miao Yan yanmiaobest@gmail.com wrote:
VxWorks 7 kernels retrieve 'local-mac-addr' from dtb and use that for NIC MAC address. As a result, when booting the same kernel image on multiple boards, there will be address conflicts.
So fixup MAC address when booting VxWorks 7 kernels
Signed-off-by: Miao Yan yanmiaobest@gmail.com
common/bootm_os.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/common/bootm_os.c b/common/bootm_os.c index 72477f0..cb83f4a 100644 --- a/common/bootm_os.c +++ b/common/bootm_os.c @@ -288,6 +288,8 @@ void do_bootvx_fdt(bootm_headers_t *images) if (ret) return;
fdt_fixup_ethernet(*of_flat_tree);
ret = fdt_add_subnode(*of_flat_tree, 0, "chosen"); if ((ret >= 0 || ret == -FDT_ERR_EXISTS)) { bootline = getenv("bootargs");
--
Reviewed-by: Bin Meng bmeng.cn@gmail.com

2015-12-02 20:44 GMT+08:00 Bin Meng bmeng.cn@gmail.com:
On Wed, Dec 2, 2015 at 3:39 PM, Miao Yan yanmiaobest@gmail.com wrote:
VxWorks 7 kernels retrieve 'local-mac-addr' from dtb and use that for NIC MAC address. As a result, when booting the same kernel image on multiple boards, there will be address conflicts.
So fixup MAC address when booting VxWorks 7 kernels
Signed-off-by: Miao Yan yanmiaobest@gmail.com
common/bootm_os.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/common/bootm_os.c b/common/bootm_os.c index 72477f0..cb83f4a 100644 --- a/common/bootm_os.c +++ b/common/bootm_os.c @@ -288,6 +288,8 @@ void do_bootvx_fdt(bootm_headers_t *images) if (ret) return;
fdt_fixup_ethernet(*of_flat_tree);
ret = fdt_add_subnode(*of_flat_tree, 0, "chosen"); if ((ret >= 0 || ret == -FDT_ERR_EXISTS)) { bootline = getenv("bootargs");
--
Reviewed-by: Bin Meng bmeng.cn@gmail.com
Hi Tom,
Could this be in next release ? Thanks.
Miao

On Wed, Dec 09, 2015 at 09:31:26AM +0800, Miao Yan wrote:
2015-12-02 20:44 GMT+08:00 Bin Meng bmeng.cn@gmail.com:
On Wed, Dec 2, 2015 at 3:39 PM, Miao Yan yanmiaobest@gmail.com wrote:
VxWorks 7 kernels retrieve 'local-mac-addr' from dtb and use that for NIC MAC address. As a result, when booting the same kernel image on multiple boards, there will be address conflicts.
So fixup MAC address when booting VxWorks 7 kernels
Signed-off-by: Miao Yan yanmiaobest@gmail.com
common/bootm_os.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/common/bootm_os.c b/common/bootm_os.c index 72477f0..cb83f4a 100644 --- a/common/bootm_os.c +++ b/common/bootm_os.c @@ -288,6 +288,8 @@ void do_bootvx_fdt(bootm_headers_t *images) if (ret) return;
fdt_fixup_ethernet(*of_flat_tree);
ret = fdt_add_subnode(*of_flat_tree, 0, "chosen"); if ((ret >= 0 || ret == -FDT_ERR_EXISTS)) { bootline = getenv("bootargs");
--
Reviewed-by: Bin Meng bmeng.cn@gmail.com
Hi Tom,
Could this be in next release ? Thanks.
Yes, soon, thanks for the fix!

On Tue, Dec 01, 2015 at 11:39:01PM -0800, Miao Yan wrote:
VxWorks 7 kernels retrieve 'local-mac-addr' from dtb and use that for NIC MAC address. As a result, when booting the same kernel image on multiple boards, there will be address conflicts.
So fixup MAC address when booting VxWorks 7 kernels
Signed-off-by: Miao Yan yanmiaobest@gmail.com Reviewed-by: Bin Meng bmeng.cn@gmail.com
Applied to u-boot/master, thanks!
participants (3)
-
Bin Meng
-
Miao Yan
-
Tom Rini