From: Paul Walmsley <paul@pwsan.com>
To: linux-omap-open-source@linux.omap.com
Subject: [PATCH 0/4] Runtime constants: define (some) OMAP address bases at runtime rather than compile time for multiboot
Date: Fri, 16 Nov 2007 16:21:59 -0700 [thread overview]
Message-ID: <20071116232159.713389488@pwsan.com> (raw)
The OMAP2/3 kernel builds define several preprocessor macros for
module base virtual addresses (e.g., OMAP2_CTRL_BASE). These macros
are substituted with virtual addresses at compile-time, depending on
what OMAP architecture the kernel is built for. This technique is
simple and works well for single-OMAP kernels, but cannot be used to
build a multi-OMAP kernel.
So, convert the users of these defines to use runtime-computed global
variables where possible. Where not possible (e.g., in static initializers),
use chip-specific preprocessor macros. The global variables are set up
early in the board-*.c files in the map_io() code, before almost everything
else.
This series must be applied after the SRAM patcher series posted earlier
this week, since it relies on that code to set up register addresses in
the assembly-language code at runtime.
This series converts SDRC, SMS, and System Control Module accesses.
Forthcoming patch series will convert PRCM and 32K sync timer register
access.
Boot-tested on N800 and 3430SDP. If someone out there could test on 2430SDP,
that would be much appreciated. Some day I'll get my hands on a 2430SDP :-)
Comments welcome,
- Paul
---
diffstat:
arch/arm/mach-omap2/board-2430osk.c | 1
arch/arm/mach-omap2/board-2430sdp.c | 1
arch/arm/mach-omap2/board-3430sdp.c | 1
arch/arm/mach-omap2/board-apollon.c | 1
arch/arm/mach-omap2/board-generic.c | 1
arch/arm/mach-omap2/board-h4.c | 4 +
arch/arm/mach-omap2/board-n800.c | 1
arch/arm/mach-omap2/clock34xx.h | 30 ++++--------
arch/arm/mach-omap2/control.h | 41 +++++++++++++++++
arch/arm/mach-omap2/id.c | 4 +
arch/arm/mach-omap2/memory.c | 10 ++--
arch/arm/mach-omap2/pm.c | 8 +--
arch/arm/mach-omap2/sdrc.h | 66 +++++++++-------------------
arch/arm/plat-omap/common.c | 36 +++++++++++++++
arch/arm/plat-omap/devices.c | 12 +++--
arch/arm/plat-omap/mux.c | 13 +++--
arch/arm/plat-omap/sram.c | 6 +-
arch/arm/plat-omap/usb.c | 66 ++++++++++++++++++++++------
include/asm-arm/arch-omap/common.h | 4 +
include/asm-arm/arch-omap/control.h | 58 +++++++++++++++++++++++++
include/asm-arm/arch-omap/omap24xx.h | 18 -------
include/asm-arm/arch-omap/omap34xx.h | 19 +-------
include/asm-arm/arch-omap/sdrc.h | 81 ++++++++++++++++++++++++++++++++++-
include/asm-arm/arch-omap/usb.h | 5 --
24 files changed, 351 insertions(+), 136 deletions(-)
size:
text data bss dec hex filename
2925380 152936 85144 3163460 304544 vmlinux.orig.n800
2925620 152936 85144 3163700 304634 vmlinux.patched.n800
next reply other threads:[~2007-11-16 23:21 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-16 23:21 Paul Walmsley [this message]
2007-11-16 23:22 ` [PATCH 1/4] Runtime constants: introduce omap2_set_globals_*() Paul Walmsley
2007-11-16 23:22 ` [PATCH 2/4] Runtime constants: use runtime-computed SDRC base Paul Walmsley
2007-11-16 23:22 ` [PATCH 3/4] Runtime constants: use runtime-computed SMS base Paul Walmsley
2007-11-16 23:22 ` [PATCH 4/4] Runtime constants: use runtime-computed system control module base Paul Walmsley
2007-11-17 0:12 ` [PATCH 0/4] Runtime constants: define (some) OMAP address bases at runtime rather than compile time for multiboot Kevin Hilman
2007-11-20 6:24 ` Dirk Behme
2007-11-21 0:36 ` Paul Walmsley
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20071116232159.713389488@pwsan.com \
--to=paul@pwsan.com \
--cc=linux-omap-open-source@linux.omap.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox