Skip to contentSkip to conversation

ARM: shmobile: sh73a0 and kzm9g Multiplatform revisit

PATCH In review Magnus Damm 3 participants 7 messages Dec 17, 2014 – Dec 18, 2014 SuperH

lore
Share & tools
lore
#0 lore raw

v2 cover ARM: shmobile: sh73a0 and kzm9g Multiplatform revisit

ARM: shmobile: sh73a0 and kzm9g Multiplatform revisit

[PATCH v2 01/05] ARM: shmobile: kzm9g-reference: 0x48008000 load address [PATCH v2 02/05] ARM: shmobile: sh73a0: Introduce generic setup callback [PATCH v2 03/05] ARM: shmobile: sh73a0: Add Multiplatform support [PATCH v2 04/05] ARM: shmobile: kzm9g: Sync with DT reference [PATCH v2 05/05] ARM: shmobile: kzm9g: Build DTS for Multiplatform

This patch series enables sh73a0 Multiplatform support. At this point the KZM9G board code written in C is left as-is, but future updates will make sure to get rid of DT reference DTS and C board code.

To make it work you need the sh73a0 CCF v7 series and the DIV6 v7 series from Ulrich Hecht.

Patch 1-3 should be possible to merge without any special dependencies.

---

Built on top of renesas-devel-20141217-v3.18

 arch/arm/boot/dts/Makefile            |    3 
 arch/arm/boot/dts/sh73a0-kzm9g.dts    |  342 ++++++++++++++++++++++++++++++++-
 arch/arm/mach-shmobile/Kconfig        |    5 
 arch/arm/mach-shmobile/Makefile       |    4 
 arch/arm/mach-shmobile/Makefile.boot  |    2 
 arch/arm/mach-shmobile/setup-sh73a0.c |   21 +-
 arch/arm/mach-shmobile/smp-sh73a0.c   |    2 
 7 files changed, 369 insertions(+), 10 deletions(-)
#1 lore raw
Quoted 8 lines · Magnus Damm

ARM: shmobile: sh73a0 and kzm9g Multiplatform revisit

[PATCH v2 01/05] ARM: shmobile: kzm9g-reference: 0x48008000 load address [PATCH v2 02/05] ARM: shmobile: sh73a0: Introduce generic setup callback [PATCH v2 03/05] ARM: shmobile: sh73a0: Add Multiplatform support [PATCH v2 04/05] ARM: shmobile: kzm9g: Sync with DT reference [PATCH v2 05/05] ARM: shmobile: kzm9g: Build DTS for Multiplatform

Quoted 8 lines

This patch series enables sh73a0 Multiplatform support. At this point the KZM9G board code written in C is left as-is, but future updates will make sure to get rid of DT reference DTS and C board code.

To make it work you need the sh73a0 CCF v7 series and the DIV6 v7 series from Ulrich Hecht.

Patch 1-3 should be possible to merge without any special dependencies.

Thanks. I agree that should be possible.

I see there has been some discussion of at least patches 1 and 3. I would like that discussion to come to a conclusion (has it already?) before I merge any patches from this series. And ideally I would like some Acks from Geert.

Quoted 14 lines

---

Built on top of renesas-devel-20141217-v3.18

 arch/arm/boot/dts/Makefile            |    3 
 arch/arm/boot/dts/sh73a0-kzm9g.dts    |  342 ++++++++++++++++++++++++++++++++-
 arch/arm/mach-shmobile/Kconfig        |    5 
 arch/arm/mach-shmobile/Makefile       |    4 
 arch/arm/mach-shmobile/Makefile.boot  |    2 
 arch/arm/mach-shmobile/setup-sh73a0.c |   21 +-
 arch/arm/mach-shmobile/smp-sh73a0.c   |    2 
 7 files changed, 369 insertions(+), 10 deletions(-)
#2 lore raw
In reply to Magnus Damm
Quoted 16 lines · Simon Horman
Quoted 15 lines · Magnus Damm

ARM: shmobile: sh73a0 and kzm9g Multiplatform revisit

[PATCH v2 01/05] ARM: shmobile: kzm9g-reference: 0x48008000 load address [PATCH v2 02/05] ARM: shmobile: sh73a0: Introduce generic setup callback [PATCH v2 03/05] ARM: shmobile: sh73a0: Add Multiplatform support [PATCH v2 04/05] ARM: shmobile: kzm9g: Sync with DT reference [PATCH v2 05/05] ARM: shmobile: kzm9g: Build DTS for Multiplatform

This patch series enables sh73a0 Multiplatform support. At this point the KZM9G board code written in C is left as-is, but future updates will make sure to get rid of DT reference DTS and C board code.

To make it work you need the sh73a0 CCF v7 series and the DIV6 v7 series from Ulrich Hecht.

Quoted 8 lines
Quoted 1 line

Patch 1-3 should be possible to merge without any special dependencies.

Thanks. I agree that should be possible.

I see there has been some discussion of at least patches 1 and 3. I would like that discussion to come to a conclusion (has it already?) before I merge any patches from this series. And ideally I would like some Acks from Geert.

I have marked patches 4 and 5 as deferred. Please repost them when their dependencies are in place. And if that is during the v3.20 cycle please note what those dependencies were so I make sure the branches have dependencies arranges as necessary.

Quoted 19 lines
Quoted 5 lines

---

Built on top of renesas-devel-20141217-v3.18

Quoted 9 lines
 arch/arm/boot/dts/Makefile            |    3 
 arch/arm/boot/dts/sh73a0-kzm9g.dts    |  342 ++++++++++++++++++++++++++++++++-
 arch/arm/mach-shmobile/Kconfig        |    5 
 arch/arm/mach-shmobile/Makefile       |    4 
 arch/arm/mach-shmobile/Makefile.boot  |    2 
 arch/arm/mach-shmobile/setup-sh73a0.c |   21 +-
 arch/arm/mach-shmobile/smp-sh73a0.c   |    2 
 7 files changed, 369 insertions(+), 10 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

#3 lore raw
In reply to Magnus Damm
Quoted 26 lines · Simon Horman
Quoted 16 lines · Simon Horman
Quoted 15 lines · Magnus Damm

ARM: shmobile: sh73a0 and kzm9g Multiplatform revisit

[PATCH v2 01/05] ARM: shmobile: kzm9g-reference: 0x48008000 load address [PATCH v2 02/05] ARM: shmobile: sh73a0: Introduce generic setup callback [PATCH v2 03/05] ARM: shmobile: sh73a0: Add Multiplatform support [PATCH v2 04/05] ARM: shmobile: kzm9g: Sync with DT reference [PATCH v2 05/05] ARM: shmobile: kzm9g: Build DTS for Multiplatform

This patch series enables sh73a0 Multiplatform support. At this point the KZM9G board code written in C is left as-is, but future updates will make sure to get rid of DT reference DTS and C board code.

To make it work you need the sh73a0 CCF v7 series and the DIV6 v7 series from Ulrich Hecht.

Quoted 8 lines
Quoted 1 line

Patch 1-3 should be possible to merge without any special dependencies.

Thanks. I agree that should be possible.

I see there has been some discussion of at least patches 1 and 3. I would like that discussion to come to a conclusion (has it already?) before I merge any patches from this series. And ideally I would like some Acks from Geert.

Quoted 4 lines

I have marked patches 4 and 5 as deferred. Please repost them when their dependencies are in place. And if that is during the v3.20 cycle please note what those dependencies were so I make sure the branches have dependencies arranges as necessary.

Many emails on the same topic...

Alternatively could we queue up the entire series, once discussion is concluded, and leave removing the legacy code until the multiplatform is working when its dependencies are merged. I think this is the approach we have taken for ape6evm.

Quoted 24 lines
Quoted 14 lines
Quoted 5 lines

---

Built on top of renesas-devel-20141217-v3.18

Quoted 9 lines
 arch/arm/boot/dts/Makefile            |    3 
 arch/arm/boot/dts/sh73a0-kzm9g.dts    |  342 ++++++++++++++++++++++++++++++++-
 arch/arm/mach-shmobile/Kconfig        |    5 
 arch/arm/mach-shmobile/Makefile       |    4 
 arch/arm/mach-shmobile/Makefile.boot  |    2 
 arch/arm/mach-shmobile/setup-sh73a0.c |   21 +-
 arch/arm/mach-shmobile/smp-sh73a0.c   |    2 
 7 files changed, 369 insertions(+), 10 deletions(-)
Quoted 5 lines

--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

Acked-by on the v2 series
#4 lore raw
In reply to Magnus Damm

Hi Magnus, Simon,

Quoted 12 lines · Magnus Damm

ARM: shmobile: sh73a0 and kzm9g Multiplatform revisit

[PATCH v2 01/05] ARM: shmobile: kzm9g-reference: 0x48008000 load address [PATCH v2 02/05] ARM: shmobile: sh73a0: Introduce generic setup callback [PATCH v2 03/05] ARM: shmobile: sh73a0: Add Multiplatform support [PATCH v2 04/05] ARM: shmobile: kzm9g: Sync with DT reference [PATCH v2 05/05] ARM: shmobile: kzm9g: Build DTS for Multiplatform

This patch series enables sh73a0 Multiplatform support. At this point the KZM9G board code written in C is left as-is, but future updates will make sure to get rid of DT reference DTS and C board code.

Quoted 6 lines

To make it work you need the sh73a0 CCF v7 series and the DIV6 v7 series from Ulrich Hecht.

Patch 1-3 should be possible to merge without any special dependencies.

EXCEPT for "[PATCH v2 01/05] ARM: shmobile: kzm9g-reference: 0x48008000 load address", which I'd like to NAK because it drops 25% of RAM.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

#5 lore raw
In reply to Magnus Damm

Hi Geert,

Quoted 15 lines · Geert Uytterhoeven

Hi Magnus, Simon,

Quoted 12 lines · Magnus Damm

ARM: shmobile: sh73a0 and kzm9g Multiplatform revisit

[PATCH v2 01/05] ARM: shmobile: kzm9g-reference: 0x48008000 load address [PATCH v2 02/05] ARM: shmobile: sh73a0: Introduce generic setup callback [PATCH v2 03/05] ARM: shmobile: sh73a0: Add Multiplatform support [PATCH v2 04/05] ARM: shmobile: kzm9g: Sync with DT reference [PATCH v2 05/05] ARM: shmobile: kzm9g: Build DTS for Multiplatform

This patch series enables sh73a0 Multiplatform support. At this point the KZM9G board code written in C is left as-is, but future updates will make sure to get rid of DT reference DTS and C board code.

Quoted 8 lines
Quoted 6 lines

To make it work you need the sh73a0 CCF v7 series and the DIV6 v7 series from Ulrich Hecht.

Patch 1-3 should be possible to merge without any special dependencies.

Thanks.

Quoted 2 lines

EXCEPT for "[PATCH v2 01/05] ARM: shmobile: kzm9g-reference: 0x48008000 load address", which I'd like to NAK because it drops 25% of RAM.

Ok, but the patch isn't dropping 25% of the RAM, the memory node is the same as before. It is just the ARM memory handling implementation that skips over that memory for some reason. =)

So how do you think we should fix it?

Thanks,

/ magnus

#6 lore raw
In reply to Magnus Damm

Hi Magnus,

Quoted 8 lines · Magnus Damm
Quoted 2 lines

EXCEPT for "[PATCH v2 01/05] ARM: shmobile: kzm9g-reference: 0x48008000 load address", which I'd like to NAK because it drops 25% of RAM.

Ok, but the patch isn't dropping 25% of the RAM, the memory node is the same as before. It is just the ARM memory handling implementation that skips over that memory for some reason. =)

So how do you think we should fix it?

Historically, Linux didn't support memory with a physical address that's below the physical address where the kernel lives. That's a relic from PCs, where memory starts at address zero (and is contiguous). So you best load the kernel at the lowest possible address, else you loose all memory below it. Only when SMP NUMA arrived, support for memory below the kernel was added. To use it, you have to enable CONFIG_SPARSEMEM, IIRC.

IMHO the simplest solution is to reclaim the first 16 MiB, which was reserved for the SH core.
Is anyone using the SH core? Perhaps it can use the last 16 MiB of RAM instead?

(Sidenote: On m68k, where you typically have many discontiguous memory
chunks, and the kernel is not always running in the chunk with the lowest physical address, we used to have a special trick. We used the MMU to map all memory chunks in the order we wanted to form one big virtual memory block. So instead of having one big physical block starting at address zero like on PC, we had one big virtual block starting at some specific virtual address. However, this code had to be dropped when the mm subsystem was changed.
So now we make sure we order the chunks are ordered by physical address, and that the kernel is loaded in the first chunk. This is suboptimal, as the first memory chunk is not necessarily the fastest one, but so far no one has stepped up to write the code to use SPARSEMEM on m68k.)

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds