Hi,
First two patches are cleanups for some stuff in Makefiles.
The next two patches add the ability to relocate a block to a fixed physical
address and the ability to use this from the makefile.
An example for armv8 booting from our modified bootwrapper is.
make PADDR=0x88100000 foundation-v8.acpi
Near the top of the output from mab you will see the output.
> relocating blob to 0x88100000
I shall be sending a patch soon to remove the in kernel re-location code as
it is no longer needed and gets in the way of UEFI support.
Thanks
Graeme
As I've been working through the detailed requirements of the reduced
hardware mode in ACPI, and more particularly, working through where the
current Linux implementation is either lacking or incorrect, I had a
bunch of hand-scribbled notes scattered around. Since those had a bit
of a tendency to wander off, I finally put them all in a wiki page:
https://wiki.linaro.org/LEG/Engineering/Kernel/ACPI/AcpiReducedHw
Now it will be much easier to lose them all at once.
If there are corrections needed or things missing, feel free to edit
the page or let me know.
--
ciao,
al
-----------------------------------
Al Stone
Software Engineer
Linaro Enterprise Group
al.stone(a)linaro.org
-----------------------------------
Hi,
I have moved the acpi asl definitions out of the kernel repository into
their own repository so that they can be used for building UEFI.
The new repository for ASL is :-
http://git.linaro.org/gitweb?p=arm/acpi/acpi-asl.git;a=summary
There will be a strict all patches require one Ack policy on this repo
for changes. And a NAK will deny access.
Currently there are two platforms defined in the platforms/ directory.
One for the Arndale board and one for the foundation v8 model. Obviously
this ASL is currently a work in progress.
For acpi team members the "blob" can be built with mab using either :-
make exynos5250-arndale.acpi
or
make foundation-v8.acpi
in the root directory of the repo.
Thanks
Graeme
arch_provides_topology_pointers was introduced in commit 23ca4bba3 (x86:
cleanup early per cpu variables/accesses v4) to indicate pointers to the
topology cpumask_t maps are valid to avoid copying data on to/off of the
stack.
But later in commit fbd59a8d (cpumask: Use topology_core_cpumask()/
topology_thread_cpumask()), the pointers to the topology struct cpumask maps
are always valid.
After that commit, the only difference is that there is a redundant
"unsigned int cpu = dev->id;" if arch_provides_topology_pointers defined, but
dev->id is type 'u32' which devolves to 'unsigned int' on all supported arches.
So this arch_provides_topology_pointers define is pointless and only cause
obfuscation now, remove it.
Tested on x86 machine, topology information in sys/devices/system/cpu/
cpuX/topology/ is the same after appling this patch set.
Signed-off-by: Hanjun Guo <hanjun.guo(a)linaro.org>
---
drivers/base/topology.c | 20 --------------------
1 file changed, 20 deletions(-)
diff --git a/drivers/base/topology.c b/drivers/base/topology.c
index 2f5919e..94ffee3 100644
--- a/drivers/base/topology.c
+++ b/drivers/base/topology.c
@@ -62,25 +62,6 @@ static ssize_t show_cpumap(int type, const struct cpumask *mask, char *buf)
}
#endif
-#ifdef arch_provides_topology_pointers
-#define define_siblings_show_map(name) \
-static ssize_t show_##name(struct device *dev, \
- struct device_attribute *attr, char *buf) \
-{ \
- unsigned int cpu = dev->id; \
- return show_cpumap(0, topology_##name(cpu), buf); \
-}
-
-#define define_siblings_show_list(name) \
-static ssize_t show_##name##_list(struct device *dev, \
- struct device_attribute *attr, \
- char *buf) \
-{ \
- unsigned int cpu = dev->id; \
- return show_cpumap(1, topology_##name(cpu), buf); \
-}
-
-#else
#define define_siblings_show_map(name) \
static ssize_t show_##name(struct device *dev, \
struct device_attribute *attr, char *buf) \
@@ -95,7 +76,6 @@ static ssize_t show_##name##_list(struct device *dev, \
{ \
return show_cpumap(1, topology_##name(dev->id), buf); \
}
-#endif
#define define_siblings_show_func(name) \
define_siblings_show_map(name); define_siblings_show_list(name)
--
1.7.9.5
Just an FYI: I've cloned the git tree I use to maintain the acpica-tools
package for Debian and put a copy here:
https://git.linaro.org/gitweb?p=people/ahs3/acpica-tools.git;a=summary
This is of course the ever fun package that includes iasl and acpiexec
and acpidump and all of your favorite ACPI user space tools.
I've also filed the proper bug to get this into the CI loop. Once it
is, the Linaro overlay PPA will get automatically updated with new
versions as they get pushed up. In the meantime, it has also been
uploaded to Debian unstable and a Fedora repository is also ready (it
is still pending final review for Fedora).
Latest version pushed is 20130626-1. Apart from corrections, the
biggest change is that the package added running the AAPITS tests
as part of the build (the ASLTS tests are already being run as part
of the build).
And, of course, as I expected would happen, 20130725 was just announced
by upstream, so I'll push that sometime next week.
--
ciao,
al
-----------------------------------
Al Stone
Software Engineer
Linaro Enterprise Group
al.stone(a)linaro.org
-----------------------------------
In this series I fix a warning that iasl is outputting about DSDT code.
I also conver the virtio device to probe via ACPI. The virtio device is
a bus which is probeable and contains the block device that is used as
the rootfs in the model.
Thanks
Graeme
Hi Guys,
I have rebased our work on 3.11-rc2, there are some quite major changes
in the driver/acpi directory.
In this release Arndale board seems to be broken oopsing which is
nothing to do with our work. For this reason acpi-ltfixes will remain at
3.10 level for now!
I have attached the config I used for armv8
Thanks
Graeme
[ 0.000000] Machine: SAMSUNG EXYNOS5 (Flattened Device Tree), model:
Insignal Arndale evaluation board based on EXYNOS5250
[ 0.000000] bootconsole [earlycon0] enabled
[ 0.000000] NR_BANKS too low, ignoring high memory
[ 0.000000] ------------[ cut here ]------------
[ 0.000000] kernel BUG at mm/vmalloc.c:1134!
[ 0.000000] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM
[ 0.000000] Modules linked in:
[ 0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 3.11.0-rc2 #202
[ 0.000000] task: c0554c88 ti: c054a000 task.ti: c054a000
[ 0.000000] PC is at vm_area_add_early+0x40/0x80
[ 0.000000] LR is at add_static_vm_early+0xc/0x60
[ 0.000000] pc : [<c051da5c>] lr : [<c0515c6c>] psr: 800001d3
[ 0.000000] sp : c054befc ip : ef7fdec0 fp : 00008402
[ 0.000000] r10: 40000001 r9 : 00010406 r8 : c05163a0
[ 0.000000] r7 : ef7fdf88 r6 : 00000000 r5 : ef7fdf88 r4 : 00080000
[ 0.000000] r3 : ef7fdfd8 r2 : f7020000 r1 : f7080000 r0 : ef7fdf88
[ 0.000000] Flags: Nzcv IRQs off FIQs off Mode SVC_32 ISA ARM
Segment kernel
[ 0.000000] Control: 10c5387d Table: 4000406a DAC: 00000015
[ 0.000000] Process swapper (pid: 0, stack limit = 0xc054a238)
[ 0.000000] Stack: (0xc054befc to 0xc054c000)
Hi Guys,
In the spirit of starting things for our LCU target here is the network
device on Foundation model converted to probe from ACPI.
Things that have come out of this conversion:
1) we need an ACPI equivalent of simple-bus from FDT
2) we need to decide on how to handle irq domains and especially the domain
for the GIC.
Changes Since v1
small typo in the ASL and a whitespace change in smc9x driver that should
not have been committed.
Thanks
Graeme