diff mbox series

ppc64 e5500 arch: new qemu target

Message ID 1522592130-25157-1-git-send-email-matthew.weber@rockwellcollins.com
State Changes Requested
Headers show
Series ppc64 e5500 arch: new qemu target | expand

Commit Message

Matt Weber April 1, 2018, 2:15 p.m. UTC
Adding basic support modeled after the Freescale/NXP
T1040RDBD4 board.

This target is used to support testing of the bootlin e5500
toolchain.

Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
---
 DEVELOPERS                            |  1 +
 board/qemu/ppc64-e5500/linux.fragment |  2 ++
 board/qemu/ppc64-e5500/readme.txt     |  7 +++++++
 configs/qemu_ppc64_e5500_defconfig    | 18 ++++++++++++++++++
 4 files changed, 28 insertions(+)
 create mode 100644 board/qemu/ppc64-e5500/linux.fragment
 create mode 100644 board/qemu/ppc64-e5500/readme.txt
 create mode 100644 configs/qemu_ppc64_e5500_defconfig

Comments

Matt Weber April 1, 2018, 2:25 p.m. UTC | #1
All,

On Sun, Apr 1, 2018 at 9:15 AM, Matt Weber
<matthew.weber@rockwellcollins.com> wrote:
> Adding basic support modeled after the Freescale/NXP
> T1040RDBD4 board.
>
> This target is used to support testing of the bootlin e5500
> toolchain.
>
> Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
> ---
>  DEVELOPERS                            |  1 +
>  board/qemu/ppc64-e5500/linux.fragment |  2 ++
>  board/qemu/ppc64-e5500/readme.txt     |  7 +++++++
>  configs/qemu_ppc64_e5500_defconfig    | 18 ++++++++++++++++++
>  4 files changed, 28 insertions(+)
>  create mode 100644 board/qemu/ppc64-e5500/linux.fragment
>  create mode 100644 board/qemu/ppc64-e5500/readme.txt
>  create mode 100644 configs/qemu_ppc64_e5500_defconfig
>
> diff --git a/DEVELOPERS b/DEVELOPERS
> index ac7a47f..dd7e389 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -1165,6 +1165,7 @@ F:        package/ts4900-fpga/
>  N:     Matt Weber <matthew.weber@rockwellcollins.com>
>  F:     board/freescale/p*
>  F:     board/freescale/t*
> +F:     board/qemu/ppc64-e5500/
>  F:     configs/freescale_p*
>  F:     configs/freescale_t*

Just noticed I should have added myself to configs/qemu_ppc64_e5500_defconfig

>  F:     package/argp-standalone/
> diff --git a/board/qemu/ppc64-e5500/linux.fragment b/board/qemu/ppc64-e5500/linux.fragment
> new file mode 100644
> index 0000000..81993d2
> --- /dev/null
> +++ b/board/qemu/ppc64-e5500/linux.fragment
> @@ -0,0 +1,2 @@
> +# Enables generic e500 arch support for QEMU
> +CONFIG_PPC_QEMU_E500=y
> diff --git a/board/qemu/ppc64-e5500/readme.txt b/board/qemu/ppc64-e5500/readme.txt
> new file mode 100644
> index 0000000..8da23f9
> --- /dev/null
> +++ b/board/qemu/ppc64-e5500/readme.txt
> @@ -0,0 +1,7 @@
> +Run the emulation with:
> +
> + qemu-system-ppc64 -M ppce500 -cpu e5500 -m 256 -kernel output/images/uImage -append 'console=ttyS0 root=/dev/ram' -initrd output/images/rootfs.cpio.gz -serial mon:stdio -nographic
> +

This arch seems like it had good support back to QEMU 2.0.0.  However,
I'll be submitting a bootlin e6500 arch variant toolchain but I'm
still working out what version of QEMU can even boot that arch.  As of
2.11.x support hasn't been merged.

(Working on pull request for e5500 testing in the toolchain-builder repo now)

Matt
Thomas Petazzoni April 1, 2018, 2:39 p.m. UTC | #2
Hello,

On Sun, 1 Apr 2018 09:25:47 -0500, Matthew Weber wrote:

> > diff --git a/board/qemu/ppc64-e5500/linux.fragment b/board/qemu/ppc64-e5500/linux.fragment
> > new file mode 100644
> > index 0000000..81993d2
> > --- /dev/null
> > +++ b/board/qemu/ppc64-e5500/linux.fragment
> > @@ -0,0 +1,2 @@
> > +# Enables generic e500 arch support for QEMU
> > +CONFIG_PPC_QEMU_E500=y
> > diff --git a/board/qemu/ppc64-e5500/readme.txt b/board/qemu/ppc64-e5500/readme.txt
> > new file mode 100644
> > index 0000000..8da23f9
> > --- /dev/null
> > +++ b/board/qemu/ppc64-e5500/readme.txt
> > @@ -0,0 +1,7 @@
> > +Run the emulation with:
> > +
> > + qemu-system-ppc64 -M ppce500 -cpu e5500 -m 256 -kernel output/images/uImage -append 'console=ttyS0 root=/dev/ram' -initrd output/images/rootfs.cpio.gz -serial mon:stdio -nographic
> > +  
> 
> This arch seems like it had good support back to QEMU 2.0.0.  However,
> I'll be submitting a bootlin e6500 arch variant toolchain but I'm
> still working out what version of QEMU can even boot that arch.  As of
> 2.11.x support hasn't been merged.

I don't get it. In the same paragraph you say "it had good support back
to Qemu 2.0.0" and  "as of 2.11.x support hasn't been merged".

Could you clarify ?

Best regards,

Thomas
Thomas Petazzoni April 1, 2018, 2:40 p.m. UTC | #3
Hello,

Commit title should be:

	configs/qemu_ppc64_e5500: new defconfig

On Sun,  1 Apr 2018 09:15:30 -0500, Matt Weber wrote:

> diff --git a/DEVELOPERS b/DEVELOPERS
> index ac7a47f..dd7e389 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -1165,6 +1165,7 @@ F:	package/ts4900-fpga/
>  N:	Matt Weber <matthew.weber@rockwellcollins.com>
>  F:	board/freescale/p*
>  F:	board/freescale/t*
> +F:	board/qemu/ppc64-e5500/
>  F:	configs/freescale_p*
>  F:	configs/freescale_t*

As you mentioned, missing entry for the defconfig file itself.

>  F:	package/argp-standalone/
> diff --git a/board/qemu/ppc64-e5500/linux.fragment b/board/qemu/ppc64-e5500/linux.fragment
> new file mode 100644
> index 0000000..81993d2
> --- /dev/null
> +++ b/board/qemu/ppc64-e5500/linux.fragment
> @@ -0,0 +1,2 @@
> +# Enables generic e500 arch support for QEMU
> +CONFIG_PPC_QEMU_E500=y

E500, while it's E5500 ?

> diff --git a/configs/qemu_ppc64_e5500_defconfig b/configs/qemu_ppc64_e5500_defconfig
> new file mode 100644
> index 0000000..55c5644
> --- /dev/null
> +++ b/configs/qemu_ppc64_e5500_defconfig
> @@ -0,0 +1,18 @@
> +# Architecture
> +BR2_powerpc64=y
> +BR2_powerpc_e5500=y

You need an option here to specify the version of the kernel headers
being used.

> +
> +# Serial port config
> +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
> +
> +# Kernel
> +BR2_LINUX_KERNEL=y
> +BR2_LINUX_KERNEL_CUSTOM_VERSION=y
> +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.15.7"
> +BR2_LINUX_KERNEL_DEFCONFIG="corenet64_smp"
> +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/ppc64-e5500/linux.fragment"
> +
> +# Filesystem
> +BR2_TARGET_ROOTFS_CPIO=y
> +BR2_TARGET_ROOTFS_CPIO_GZIP=y

The Qemu emulation doesn't support emulating some hard drive, to use a
more regular ext4 setup ?

Thanks!

Thomas
Matt Weber April 1, 2018, 2:58 p.m. UTC | #4
Thomas,

On Sun, Apr 1, 2018 at 9:39 AM, Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
> Hello,
>
> On Sun, 1 Apr 2018 09:25:47 -0500, Matthew Weber wrote:
>
>> > diff --git a/board/qemu/ppc64-e5500/linux.fragment b/board/qemu/ppc64-e5500/linux.fragment
>> > new file mode 100644
>> > index 0000000..81993d2
>> > --- /dev/null
>> > +++ b/board/qemu/ppc64-e5500/linux.fragment
>> > @@ -0,0 +1,2 @@
>> > +# Enables generic e500 arch support for QEMU
>> > +CONFIG_PPC_QEMU_E500=y
>> > diff --git a/board/qemu/ppc64-e5500/readme.txt b/board/qemu/ppc64-e5500/readme.txt
>> > new file mode 100644
>> > index 0000000..8da23f9
>> > --- /dev/null
>> > +++ b/board/qemu/ppc64-e5500/readme.txt
>> > @@ -0,0 +1,7 @@
>> > +Run the emulation with:
>> > +
>> > + qemu-system-ppc64 -M ppce500 -cpu e5500 -m 256 -kernel output/images/uImage -append 'console=ttyS0 root=/dev/ram' -initrd output/images/rootfs.cpio.gz -serial mon:stdio -nographic
>> > +
>>
>> This arch seems like it had good support back to QEMU 2.0.0.  However,
>> I'll be submitting a bootlin e6500 arch variant toolchain but I'm
>> still working out what version of QEMU can even boot that arch.  As of
>> 2.11.x support hasn't been merged.
>
> I don't get it. In the same paragraph you say "it had good support back
> to Qemu 2.0.0" and  "as of 2.11.x support hasn't been merged".
>

The e5500 has good support in 2.0.0 but I've been looking at adding a
new e6500 which does not.

Matt
Matt Weber April 1, 2018, 3 p.m. UTC | #5
Thomas,

On Sun, Apr 1, 2018 at 9:40 AM, Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
> Hello,
>
> Commit title should be:
>
>         configs/qemu_ppc64_e5500: new defconfig
>
> On Sun,  1 Apr 2018 09:15:30 -0500, Matt Weber wrote:
>
>> diff --git a/DEVELOPERS b/DEVELOPERS
>> index ac7a47f..dd7e389 100644
>> --- a/DEVELOPERS
>> +++ b/DEVELOPERS
>> @@ -1165,6 +1165,7 @@ F:      package/ts4900-fpga/
>>  N:   Matt Weber <matthew.weber@rockwellcollins.com>
>>  F:   board/freescale/p*
>>  F:   board/freescale/t*
>> +F:   board/qemu/ppc64-e5500/
>>  F:   configs/freescale_p*
>>  F:   configs/freescale_t*
>
> As you mentioned, missing entry for the defconfig file itself.

Yep.

>
>>  F:   package/argp-standalone/
>> diff --git a/board/qemu/ppc64-e5500/linux.fragment b/board/qemu/ppc64-e5500/linux.fragment
>> new file mode 100644
>> index 0000000..81993d2
>> --- /dev/null
>> +++ b/board/qemu/ppc64-e5500/linux.fragment
>> @@ -0,0 +1,2 @@
>> +# Enables generic e500 arch support for QEMU
>> +CONFIG_PPC_QEMU_E500=y
>
> E500, while it's E5500 ?

e5500 is a variant of e500 base architecture.  I can add to my comment
to express that.

>
>> diff --git a/configs/qemu_ppc64_e5500_defconfig b/configs/qemu_ppc64_e5500_defconfig
>> new file mode 100644
>> index 0000000..55c5644
>> --- /dev/null
>> +++ b/configs/qemu_ppc64_e5500_defconfig
>> @@ -0,0 +1,18 @@
>> +# Architecture
>> +BR2_powerpc64=y
>> +BR2_powerpc_e5500=y
>
> You need an option here to specify the version of the kernel headers
> being used.

Ok.

>
>> +
>> +# Serial port config
>> +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
>> +
>> +# Kernel
>> +BR2_LINUX_KERNEL=y
>> +BR2_LINUX_KERNEL_CUSTOM_VERSION=y
>> +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.15.7"
>> +BR2_LINUX_KERNEL_DEFCONFIG="corenet64_smp"
>> +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/ppc64-e5500/linux.fragment"
>> +
>> +# Filesystem
>> +BR2_TARGET_ROOTFS_CPIO=y
>> +BR2_TARGET_ROOTFS_CPIO_GZIP=y
>
> The Qemu emulation doesn't support emulating some hard drive, to use a
> more regular ext4 setup ?

I debated on this.  I'll have to add more support to the kernel
fragment to enable the options so I can mount it.  I'm good either
way.

Matt
diff mbox series

Patch

diff --git a/DEVELOPERS b/DEVELOPERS
index ac7a47f..dd7e389 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1165,6 +1165,7 @@  F:	package/ts4900-fpga/
 N:	Matt Weber <matthew.weber@rockwellcollins.com>
 F:	board/freescale/p*
 F:	board/freescale/t*
+F:	board/qemu/ppc64-e5500/
 F:	configs/freescale_p*
 F:	configs/freescale_t*
 F:	package/argp-standalone/
diff --git a/board/qemu/ppc64-e5500/linux.fragment b/board/qemu/ppc64-e5500/linux.fragment
new file mode 100644
index 0000000..81993d2
--- /dev/null
+++ b/board/qemu/ppc64-e5500/linux.fragment
@@ -0,0 +1,2 @@ 
+# Enables generic e500 arch support for QEMU
+CONFIG_PPC_QEMU_E500=y
diff --git a/board/qemu/ppc64-e5500/readme.txt b/board/qemu/ppc64-e5500/readme.txt
new file mode 100644
index 0000000..8da23f9
--- /dev/null
+++ b/board/qemu/ppc64-e5500/readme.txt
@@ -0,0 +1,7 @@ 
+Run the emulation with:
+
+ qemu-system-ppc64 -M ppce500 -cpu e5500 -m 256 -kernel output/images/uImage -append 'console=ttyS0 root=/dev/ram' -initrd output/images/rootfs.cpio.gz -serial mon:stdio -nographic
+
+The login prompt will appear in the terminal that started Qemu.
+
+Tested with QEMU 2.0.0
diff --git a/configs/qemu_ppc64_e5500_defconfig b/configs/qemu_ppc64_e5500_defconfig
new file mode 100644
index 0000000..55c5644
--- /dev/null
+++ b/configs/qemu_ppc64_e5500_defconfig
@@ -0,0 +1,18 @@ 
+# Architecture
+BR2_powerpc64=y
+BR2_powerpc_e5500=y
+
+# Serial port config
+BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
+
+# Kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.15.7"
+BR2_LINUX_KERNEL_DEFCONFIG="corenet64_smp"
+BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/ppc64-e5500/linux.fragment"
+
+# Filesystem
+BR2_TARGET_ROOTFS_CPIO=y
+BR2_TARGET_ROOTFS_CPIO_GZIP=y
+# BR2_TARGET_ROOTFS_TAR is not set