mbox series

[0/5] docs/system: Document some arm board models

Message ID 20200507151819.28444-1-peter.maydell@linaro.org
Headers show
Series docs/system: Document some arm board models | expand

Message

Peter Maydell May 7, 2020, 3:18 p.m. UTC
This patchset adds (minimal) documentation of these Arm board models:

vexpress-a15         ARM Versatile Express for Cortex-A15
vexpress-a9          ARM Versatile Express for Cortex-A9
mps2-an385           ARM MPS2 with AN385 FPGA image for Cortex-M35
mps2-an505           ARM MPS2 with AN505 FPGA image for Cortex-M33
mps2-an511           ARM MPS2 with AN511 DesignStart FPGA image for Cortex-M3
mps2-an521           ARM MPS2 with AN521 FPGA image for dual Cortex-M33
musca-a              ARM Musca-A board (dual Cortex-M33)
musca-b1             ARM Musca-B1 board (dual Cortex-M33)

to the system emulator manual.

Patches 1 and 2 are minor tidyup of the board table-of-contents
before we start adding new entries with patches 3-5.

I'm aiming more for "at least note that the boards exist" than
"fully comprehensive" documentation here -- there are still another
37 Arm board models with no documentation at all...

thanks
-- PMM

Peter Maydell (5):
  docs/system: Add 'Arm' to the Integrator/CP document title
  docs/system: Sort Arm board index into alphabetical order
  docs/system: Document Arm Versatile Express boards
  docs/system: Document the various MPS2 models
  docs/system: Document Musca boards

 docs/system/arm/integratorcp.rst |  4 +--
 docs/system/arm/mps2.rst         | 29 +++++++++++++++
 docs/system/arm/musca.rst        | 31 +++++++++++++++++
 docs/system/arm/vexpress.rst     | 60 ++++++++++++++++++++++++++++++++
 docs/system/target-arm.rst       | 15 ++++----
 MAINTAINERS                      |  3 ++
 6 files changed, 134 insertions(+), 8 deletions(-)
 create mode 100644 docs/system/arm/mps2.rst
 create mode 100644 docs/system/arm/musca.rst
 create mode 100644 docs/system/arm/vexpress.rst

-- 
2.20.1

Comments

Peter Maydell May 14, 2020, 1:28 p.m. UTC | #1
Ping for review?

thanks
-- PMM

On Thu, 7 May 2020 at 16:18, Peter Maydell <peter.maydell@linaro.org> wrote:
>

> This patchset adds (minimal) documentation of these Arm board models:

>

> vexpress-a15         ARM Versatile Express for Cortex-A15

> vexpress-a9          ARM Versatile Express for Cortex-A9

> mps2-an385           ARM MPS2 with AN385 FPGA image for Cortex-M35

> mps2-an505           ARM MPS2 with AN505 FPGA image for Cortex-M33

> mps2-an511           ARM MPS2 with AN511 DesignStart FPGA image for Cortex-M3

> mps2-an521           ARM MPS2 with AN521 FPGA image for dual Cortex-M33

> musca-a              ARM Musca-A board (dual Cortex-M33)

> musca-b1             ARM Musca-B1 board (dual Cortex-M33)

>

> to the system emulator manual.

>

> Patches 1 and 2 are minor tidyup of the board table-of-contents

> before we start adding new entries with patches 3-5.

>

> I'm aiming more for "at least note that the boards exist" than

> "fully comprehensive" documentation here -- there are still another

> 37 Arm board models with no documentation at all...

>

> thanks

> -- PMM

>

> Peter Maydell (5):

>   docs/system: Add 'Arm' to the Integrator/CP document title

>   docs/system: Sort Arm board index into alphabetical order

>   docs/system: Document Arm Versatile Express boards

>   docs/system: Document the various MPS2 models

>   docs/system: Document Musca boards

>

>  docs/system/arm/integratorcp.rst |  4 +--

>  docs/system/arm/mps2.rst         | 29 +++++++++++++++

>  docs/system/arm/musca.rst        | 31 +++++++++++++++++

>  docs/system/arm/vexpress.rst     | 60 ++++++++++++++++++++++++++++++++

>  docs/system/target-arm.rst       | 15 ++++----

>  MAINTAINERS                      |  3 ++

>  6 files changed, 134 insertions(+), 8 deletions(-)

>  create mode 100644 docs/system/arm/mps2.rst

>  create mode 100644 docs/system/arm/musca.rst

>  create mode 100644 docs/system/arm/vexpress.rst

>

> --

> 2.20.1

>
Philippe Mathieu-Daudé May 15, 2020, 8:03 a.m. UTC | #2
Hi Peter,

+Markus

On 5/14/20 3:28 PM, Peter Maydell wrote:
> Ping for review?


For the series:
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>


However I'd rather see the board documentation in the source code, and 
extract it when building. It'd be harder to miss updating the 
documentation when modifying the code.

Another way (rather than using external program to extract from source 
code) can be to add a method/field to MachineClass, and once a build is 
finished, we could run 'qemu-system-arch -M gendoc' which go thru all 
machines and display the documentation properly formatted.

> 

> thanks

> -- PMM

> 

> On Thu, 7 May 2020 at 16:18, Peter Maydell <peter.maydell@linaro.org> wrote:

>>

>> This patchset adds (minimal) documentation of these Arm board models:

>>

>> vexpress-a15         ARM Versatile Express for Cortex-A15

>> vexpress-a9          ARM Versatile Express for Cortex-A9

>> mps2-an385           ARM MPS2 with AN385 FPGA image for Cortex-M35

>> mps2-an505           ARM MPS2 with AN505 FPGA image for Cortex-M33

>> mps2-an511           ARM MPS2 with AN511 DesignStart FPGA image for Cortex-M3

>> mps2-an521           ARM MPS2 with AN521 FPGA image for dual Cortex-M33

>> musca-a              ARM Musca-A board (dual Cortex-M33)

>> musca-b1             ARM Musca-B1 board (dual Cortex-M33)

>>

>> to the system emulator manual.

>>

>> Patches 1 and 2 are minor tidyup of the board table-of-contents

>> before we start adding new entries with patches 3-5.

>>

>> I'm aiming more for "at least note that the boards exist" than

>> "fully comprehensive" documentation here -- there are still another

>> 37 Arm board models with no documentation at all...

>>

>> thanks

>> -- PMM

>>

>> Peter Maydell (5):

>>    docs/system: Add 'Arm' to the Integrator/CP document title

>>    docs/system: Sort Arm board index into alphabetical order

>>    docs/system: Document Arm Versatile Express boards

>>    docs/system: Document the various MPS2 models

>>    docs/system: Document Musca boards

>>

>>   docs/system/arm/integratorcp.rst |  4 +--

>>   docs/system/arm/mps2.rst         | 29 +++++++++++++++

>>   docs/system/arm/musca.rst        | 31 +++++++++++++++++

>>   docs/system/arm/vexpress.rst     | 60 ++++++++++++++++++++++++++++++++

>>   docs/system/target-arm.rst       | 15 ++++----

>>   MAINTAINERS                      |  3 ++

>>   6 files changed, 134 insertions(+), 8 deletions(-)

>>   create mode 100644 docs/system/arm/mps2.rst

>>   create mode 100644 docs/system/arm/musca.rst

>>   create mode 100644 docs/system/arm/vexpress.rst

>>

>> --

>> 2.20.1

>>

>
Peter Maydell May 15, 2020, 8:51 a.m. UTC | #3
On Fri, 15 May 2020 at 09:03, Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
> However I'd rather see the board documentation in the source code, and

> extract it when building. It'd be harder to miss updating the

> documentation when modifying the code.


I definitely agree in principle; but for the moment at least
we can have some documentation...

> Another way (rather than using external program to extract from source

> code) can be to add a method/field to MachineClass, and once a build is

> finished, we could run 'qemu-system-arch -M gendoc' which go thru all

> machines and display the documentation properly formatted.


The documentation needs to include all machines, not just
the ones that got compiled into a particular binary, so
I'm not sure this will work. I also would prefer it if
we avoided having the docs build depend on doing a full
binary build -- places like readthedocs will just do a docs
build by invoking Sphinx directly, and we'd like the machine
docs to be visible there.

thanks
-- PMM
Philippe Mathieu-Daudé May 15, 2020, 9:05 a.m. UTC | #4
On 5/15/20 10:51 AM, Peter Maydell wrote:
> On Fri, 15 May 2020 at 09:03, Philippe Mathieu-Daudé <philmd@redhat.com> wrote:

>> However I'd rather see the board documentation in the source code, and

>> extract it when building. It'd be harder to miss updating the

>> documentation when modifying the code.

> 

> I definitely agree in principle; but for the moment at least

> we can have some documentation...


Yes, thank you very much for this effort!

> 

>> Another way (rather than using external program to extract from source

>> code) can be to add a method/field to MachineClass, and once a build is

>> finished, we could run 'qemu-system-arch -M gendoc' which go thru all

>> machines and display the documentation properly formatted.

> 

> The documentation needs to include all machines, not just

> the ones that got compiled into a particular binary, so

> I'm not sure this will work. I also would prefer it if

> we avoided having the docs build depend on doing a full

> binary build -- places like readthedocs will just do a docs

> build by invoking Sphinx directly, and we'd like the machine

> docs to be visible there.


Sphinx consumes docs/system/$arch/$machine.rst files committed to the 
repository, and we don't need to build various qemu-system-arch to 
generate the documentation.

If you work on a particular board, you might end up only building its 
corresponding qemu-system-ARCH. Maybe we can add an extra-pass once a 
binary is linked, and re-generate the docs/system/ARCH/$machine.rst 
files, so if you modified a board and its documentation placeholder in 
the code, when commiting your code change, you also have to commit the 
rst changes.

Just brainstorming an idea for now ;)

> 

> thanks

> -- PMM

>
Peter Maydell May 15, 2020, 10:23 a.m. UTC | #5
On Fri, 15 May 2020 at 10:05, Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
> Sphinx consumes docs/system/$arch/$machine.rst files committed to the

> repository, and we don't need to build various qemu-system-arch to

> generate the documentation.

>

> If you work on a particular board, you might end up only building its

> corresponding qemu-system-ARCH. Maybe we can add an extra-pass once a

> binary is linked, and re-generate the docs/system/ARCH/$machine.rst

> files, so if you modified a board and its documentation placeholder in

> the code, when commiting your code change, you also have to commit the

> rst changes.


I'm not a huge fan of committing generated files to source control...
I think I'd prefer an approach that worked via some kind of
kerneldoc comments that we pull out and parse using the Sphinx
plugin we have for that. (There's more complication than that
but roughly I think that would be the kind of approach I'd like
to see.)

thanks
-- PMM