mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 12:43:29 +02:00
docs: sh: convert new-machine.txt to ReST
- Add a SPDX header; - Adjust document title to follow ReST style; - Mark literal blocks as such; - Mark a table as such; - Add it to sh/index.rst. Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Link: https://lore.kernel.org/r/4437d379ccf201cc3a369232f9159a02754ca530.1592203650.git.mchehab+huawei@kernel.org Signed-off-by: Jonathan Corbet <corbet@lwn.net>
This commit is contained in:
committed by
Jonathan Corbet
parent
599448d8ca
commit
7539b41762
@@ -4,6 +4,11 @@ SuperH Interfaces Guide
|
||||
|
||||
:Author: Paul Mundt
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
new-machine
|
||||
|
||||
Memory Management
|
||||
=================
|
||||
|
||||
|
@@ -1,6 +1,8 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
=============================
|
||||
Adding a new board to LinuxSH
|
||||
================================
|
||||
=============================
|
||||
|
||||
Paul Mundt <lethal@linux-sh.org>
|
||||
|
||||
@@ -19,7 +21,7 @@ include/asm-sh/. For the new kernel, things are broken out by board type,
|
||||
companion chip type, and CPU type. Looking at a tree view of this directory
|
||||
hierarchy looks like the following:
|
||||
|
||||
Board-specific code:
|
||||
Board-specific code::
|
||||
|
||||
.
|
||||
|-- arch
|
||||
@@ -41,7 +43,8 @@ Board-specific code:
|
||||
|
|
||||
.. more boards here ...
|
||||
|
||||
Next, for companion chips:
|
||||
Next, for companion chips::
|
||||
|
||||
.
|
||||
`-- arch
|
||||
`-- sh
|
||||
@@ -54,7 +57,8 @@ Next, for companion chips:
|
||||
board-specific headers. Thus, include/asm-sh/hd64461 is home to all of the
|
||||
hd64461-specific headers.
|
||||
|
||||
Finally, CPU family support is also abstracted:
|
||||
Finally, CPU family support is also abstracted::
|
||||
|
||||
.
|
||||
|-- arch
|
||||
| `-- sh
|
||||
@@ -110,7 +114,7 @@ arch/sh/boards and the include/asm-sh/ hierarchy. In order to better
|
||||
explain this, we use some examples for adding an imaginary board. For
|
||||
setup code, we're required at the very least to provide definitions for
|
||||
get_system_type() and platform_setup(). For our imaginary board, this
|
||||
might look something like:
|
||||
might look something like::
|
||||
|
||||
/*
|
||||
* arch/sh/boards/vapor/setup.c - Setup code for imaginary board
|
||||
@@ -172,7 +176,7 @@ sufficient.
|
||||
vector.
|
||||
|
||||
Note that these prototypes are generated automatically by setting
|
||||
__IO_PREFIX to something sensible. A typical example would be:
|
||||
__IO_PREFIX to something sensible. A typical example would be::
|
||||
|
||||
#define __IO_PREFIX vapor
|
||||
#include <asm/io_generic.h>
|
||||
@@ -181,7 +185,7 @@ sufficient.
|
||||
have a legacy io.h should remove it entirely and switch to the new model.
|
||||
|
||||
- Add machine vector definitions to the board's setup.c. At a bare minimum,
|
||||
this must be defined as something like:
|
||||
this must be defined as something like::
|
||||
|
||||
struct sh_machine_vector mv_vapor __initmv = {
|
||||
.mv_name = "vapor",
|
||||
@@ -202,7 +206,7 @@ Large portions of the build system are now entirely dynamic, and merely
|
||||
require the proper entry here and there in order to get things done.
|
||||
|
||||
The first thing to do is to add an entry to arch/sh/Kconfig, under the
|
||||
"System type" menu:
|
||||
"System type" menu::
|
||||
|
||||
config SH_VAPOR
|
||||
bool "Vapor"
|
||||
@@ -213,7 +217,7 @@ next, this has to be added into arch/sh/Makefile. All boards require a
|
||||
machdir-y entry in order to be built. This entry needs to be the name of
|
||||
the board directory as it appears in arch/sh/boards, even if it is in a
|
||||
sub-directory (in which case, all parent directories below arch/sh/boards/
|
||||
need to be listed). For our new board, this entry can look like:
|
||||
need to be listed). For our new board, this entry can look like::
|
||||
|
||||
machdir-$(CONFIG_SH_VAPOR) += vapor
|
||||
|
||||
@@ -230,7 +234,7 @@ This is done by adding an entry to the end of the arch/sh/tools/mach-types
|
||||
list. The method for doing this is self explanatory, and so we won't waste
|
||||
space restating it here. After this is done, you will be able to use
|
||||
implicit checks for your board if you need this somewhere throughout the
|
||||
common code, such as:
|
||||
common code, such as::
|
||||
|
||||
/* Make sure we're on the FooTech Vaporboard */
|
||||
if (!mach_is_vapor())
|
||||
@@ -253,14 +257,17 @@ build target, and it will be implicitly listed as such in the help text.
|
||||
Looking at the 'make help' output, you should now see something like:
|
||||
|
||||
Architecture specific targets (sh):
|
||||
zImage - Compressed kernel image (arch/sh/boot/zImage)
|
||||
adx_defconfig - Build for adx
|
||||
cqreek_defconfig - Build for cqreek
|
||||
dreamcast_defconfig - Build for dreamcast
|
||||
...
|
||||
vapor_defconfig - Build for vapor
|
||||
|
||||
which then allows you to do:
|
||||
======================= =============================================
|
||||
zImage Compressed kernel image (arch/sh/boot/zImage)
|
||||
adx_defconfig Build for adx
|
||||
cqreek_defconfig Build for cqreek
|
||||
dreamcast_defconfig Build for dreamcast
|
||||
...
|
||||
vapor_defconfig Build for vapor
|
||||
======================= =============================================
|
||||
|
||||
which then allows you to do::
|
||||
|
||||
$ make ARCH=sh CROSS_COMPILE=sh4-linux- vapor_defconfig vmlinux
|
||||
|
Reference in New Issue
Block a user