Currently, the BAD_MADT_ENTRY macro is used to do a very simple sanity
check on the various subtables that are defined for the MADT. The check
compares the size of the subtable data structure as defined by ACPICA to
the length entry in the subtable. If they are not the same, the assumption
is that the subtable is incorrect.
Over time, the ACPI spec has allowed for MADT subtables where this can
never be true (the local SAPIC subtable, for example). Or, more recently,
the spec has accumulated some minor flaws where there are three possible
sizes for a subtable, all of which are valid, but only for specific versions
of the spec (the GICC subtable). In both cases, BAD_MADT_ENTRY reports these
subtables as bad when they are not. In order to retain some sanity check
on the MADT subtables, we now have to special case these subtables. Of
necessity, these special cases have ended up in arch-dependent code (arm64)
or an arch has simply decided to forgo the check (ia64).
This patch set replaces the BAD_MADT_ENTRY macro with a function called
bad_madt_entry(). This function uses a data set of details about the
subtables to provide more sanity checking than before:
-- is the subtable legal for the version given in the FADT?
-- is the subtable legal for the revision of the MADT in use?
-- is the subtable of the proper length (including checking
on the one variable length subtable that is currently ignored),
given the FADT version and the MADT revision?
Further, this patch set adds in the call to bad_madt_entry() from the
acpi_table_parse_madt() function, allowing it to be used consistently
by all architectures, for all subtables, and removing the need for each
of the subtable traversal callback functions to use BAD_MADT_ENTRY.
In theory, as the ACPI specification changes, we would only have to add
additional information to the data set describing the MADT subtables in
order to continue providing sanity checks, even when new subtables are
added.
These patches have been tested on an APM Mustang (arm64) and are known to
work there. They have also been cross-compiled for x86 and ia64 with no
known failures.
Changes for v3:
-- Reviewed-and-tested-by from Sudeep Holla for arm64 parts
-- Clearer language in error messages (Graeme Gregory, Timur Tabi)
-- Double checked that inserting call to bad_madt_entry() into the
function acpi_parse_entries() does not impact current behavior
(Sudeep Holla)
Changes for v2:
-- Acked-by on 2/5 from Marc Zyngier and Catalin Marinas for ARM
-- Correct faulty end of loop test found by Timur Tabi
Al Stone (5):
ACPI: add in a bad_madt_entry() function to eventually replace the
macro
ACPI / ARM64: remove usage of BAD_MADT_ENTRY/BAD_MADT_GICC_ENTRY
ACPI / IA64: remove usage of BAD_MADT_ENTRY
ACPI / X86: remove usage of BAD_MADT_ENTRY
ACPI: remove definition of BAD_MADT_ENTRY macro
arch/arm64/include/asm/acpi.h | 8 --
arch/arm64/kernel/smp.c | 2 -
arch/ia64/kernel/acpi.c | 20 ----
arch/x86/kernel/acpi/boot.c | 27 -----
drivers/acpi/tables.c | 245 +++++++++++++++++++++++++++++++++++++++++-
drivers/irqchip/irq-gic.c | 6 --
include/linux/acpi.h | 4 -
7 files changed, 244 insertions(+), 68 deletions(-)
--
2.4.3
From: Fu Wei <fu.wei(a)linaro.org>
This patchset:
(1)Introduce Documentation/devicetree/bindings/watchdog/sbsa-gwdt.txt
for FDT info of SBSA Generic Watchdog, and give two examples of
adding SBSA Generic Watchdog device node into the dts files:
foundation-v8.dts and amd-seattle-soc.dtsi.
(2)Introduce ACPI GTDT parser: drivers/acpi/gtdt.c
Parse SBSA Generic Watchdog Structure in GTDT table of ACPI,
and create a platform device with that information.
This platform device can be used by This Watchdog driver.
drivers/clocksource/arm_arch_timer.c is simplified by this GTDT support.
(3)Introduce "pretimeout" into the watchdog framework, and update
Documentation/watchdog/watchdog-kernel-api.txt to introduce:
(1)the new elements in the watchdog_device and watchdog_ops struct;
(2)the new API "watchdog_init_timeouts".
(4)Introduce ARM SBSA watchdog driver:
a.Use linux kernel watchdog framework;
b.Work with FDT on ARM64;
c.Use "pretimeout" in watchdog framework;
d.In first timeout, do panic to save system context;
e.Support getting timeout and pretimeout from parameter and FDT
at the driver init stage.
This patchset has been tested with watchdog daemon
(ACPI/FDT, module/build-in) on the following platforms:
(1)ARM Foundation v8 model
Changelog:
v4: Refactor GTDT support code: remove it from arch/arm64/kernel/acpi.c,
put it into drivers/acpi/gtdt.c file.
Integrate the GTDT code of drivers/clocksource/arm_arch_timer.c into
drivers/acpi/gtdt.c.
Improve pretimeout support, fix "pretimeout == 0" problem.
Simplify sbsa_gwdt driver:
(1)timeout/pretimeout limits setup;
(2)keepalive function;
(3)delete "clk == 0" check;
(4)delete WS0 status bit check in interrupt routine;
(5)sbsa_gwdt_set_wcv function.
v3: Delete "export arch_timer_get_rate" patch.
Driver back to use arch_timer_get_cntfrq.
Improve watchdog_init_timeouts function and update relevant documentation.
Improve watchdog_timeout_invalid and watchdog_pretimeout_invalid.
Improve foundation-v8.dts: delete the unnecessary tag of device node.
Remove "ARM64 || COMPILE_TEST" from Kconfig.
Add comments in arch/arm64/kernel/acpi.c
Fix typoes and incorrect comments.
v2: Improve watchdog-kernel-api.txt documentation for pretimeout support.
Export "arch_timer_get_rate" in arm_arch_timer.c.
Add watchdog_init_timeouts API for pretimeout support in framework.
Improve suspend and resume foundation in driver
Improve timeout/pretimeout values init code in driver.
Delete unnecessary items of the sbsa_gwdt struct and #define.
Delete all unnecessary debug info in driver.
Fix 64bit division bug.
Use the arch_timer interface to get watchdog clock rate.
Add MODULE_DEVICE_TABLE for platform device id.
Fix typoes.
v1: The first version upstream patchset to linux mailing list.
Fu Wei (7):
Documentation: add sbsa-gwdt.txt documentation
ARM64: add SBSA Generic Watchdog device node in foundation-v8.dts
ARM64: add SBSA Generic Watchdog device node in amd-seattle-soc.dtsi
Watchdog: introdouce "pretimeout" into framework
Watchdog: introduce ARM SBSA watchdog driver
ACPI: add GTDT table parse driver into ACPI driver
clocksource: simplify ACPI code in arm_arch_timer.c
.../devicetree/bindings/watchdog/sbsa-gwdt.txt | 36 ++
Documentation/watchdog/watchdog-kernel-api.txt | 47 ++-
arch/arm64/boot/dts/amd/amd-seattle-soc.dtsi | 11 +
arch/arm64/boot/dts/arm/foundation-v8.dts | 10 +
arch/arm64/kernel/time.c | 4 +-
drivers/acpi/Kconfig | 9 +
drivers/acpi/Makefile | 1 +
drivers/acpi/gtdt.c | 180 +++++++++
drivers/clocksource/Kconfig | 1 +
drivers/clocksource/arm_arch_timer.c | 60 +--
drivers/watchdog/Kconfig | 12 +
drivers/watchdog/Makefile | 1 +
drivers/watchdog/sbsa_gwdt.c | 426 +++++++++++++++++++++
drivers/watchdog/watchdog_core.c | 115 ++++--
drivers/watchdog/watchdog_dev.c | 53 +++
include/clocksource/arm_arch_timer.h | 8 +
include/linux/acpi.h | 5 +
include/linux/clocksource.h | 4 +-
include/linux/watchdog.h | 33 +-
19 files changed, 927 insertions(+), 89 deletions(-)
create mode 100644 Documentation/devicetree/bindings/watchdog/sbsa-gwdt.txt
create mode 100644 drivers/acpi/gtdt.c
create mode 100644 drivers/watchdog/sbsa_gwdt.c
--
1.8.3.1
You have recieved tax refund according to your request.
Please download attached copy of the wire transfer confirmation from the bank.
Transaction type - Tax Refund
Payment method - Wire transfer
Amount - $ 3324.00
Status - Processed
Form - 76994L
Additional information regarding tax refunds can be found on our website:
http://www.irs.gov/Refunds.
Regards,
Internal Revenue Service
Address: 1111 Constitution Avenue, NW
Washington, DC 20224
Website: http://www.irs.gov
Phone: 1-800-829-1040
IRQ controllers and timers are the two types of device the kernel
requires before being able to use the device driver model.
ACPI so far lacks a proper probing infrastructure similar to the one
we have with DT, where we're able to declare IRQ chips and
clocksources inside the driver code, and let the core code pick it up
and call us back on a match. This leads to all kind of really ugly
hacks all over the arm64 code and even in the ACPI layer.
It turns out that providing such a probing infrastructure is rather
easy, and provides a much deserved cleanup in both the arch code, the
GIC driver, and the architected timer driver.
I'm sure there is some more code to be deleted, and one can only
wonder why this wasn't done before the arm64 code was initially merged
(the diffstat says it all...).
Patches are against v4.2, and a branch is available at
git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git acpi/device-probing
Marc Zyngier (5):
acpi: Add basic device probing infrastructure
irqchip/acpi: Add probing infrastructure for ACPI-based irqchips
irqchip/gic: Convert the GIC driver to ACPI probing
clocksource/acpi: Add probing infrastructure for ACPI-based
clocksources
clocksource/arm_arch_timer: Convert to ACPI probing
arch/arm64/include/asm/acpi.h | 1 -
arch/arm64/include/asm/irq.h | 13 -------
arch/arm64/kernel/acpi.c | 25 -------------
arch/arm64/kernel/time.c | 6 ----
drivers/acpi/scan.c | 41 +++++++++++++++++++++
drivers/clocksource/arm_arch_timer.c | 10 +-----
drivers/clocksource/clksrc-of.c | 4 +++
drivers/irqchip/irq-gic.c | 69 ++++++++++++++++++------------------
drivers/irqchip/irqchip.c | 5 ++-
include/asm-generic/vmlinux.lds.h | 11 ++++++
include/linux/acpi.h | 56 +++++++++++++++++++++++++++++
include/linux/acpi_irq.h | 10 ------
include/linux/clocksource.h | 6 ----
include/linux/irqchip.h | 16 +++++++++
include/linux/irqchip/arm-gic-acpi.h | 31 ----------------
15 files changed, 166 insertions(+), 138 deletions(-)
delete mode 100644 include/linux/acpi_irq.h
delete mode 100644 include/linux/irqchip/arm-gic-acpi.h
--
2.1.4
Currently, the BAD_MADT_ENTRY macro is used to do a very simple sanity
check on the various subtables that are defined for the MADT. The check
compares the size of the subtable data structure as defined by ACPICA to
the length entry in the subtable. If they are not the same, the assumption
is that the subtable is incorrect.
Over time, the ACPI spec has allowed for MADT subtables where this can
never be true (the local SAPIC subtable, for example). Or, more recently,
the spec has accumulated some minor flaws where there are three possible
sizes for a subtable, all of which are valid, but only for specific versions
of the spec (the GICC subtable). In both cases, BAD_MADT_ENTRY reports these
subtables as bad when they are not. In order to retain some sanity check
on the MADT subtables, we now have to special case these subtables. Of
necessity, these special cases have ended up in arch-dependent code (arm64)
or an arch has simply decided to forgo the check (ia64).
This patch set replaces the BAD_MADT_ENTRY macro with a function called
bad_madt_entry(). This function uses a data set of details about the
subtables to provide more sanity checking than before:
-- is the subtable legal for the version given in the FADT?
-- is the subtable legal for the revision of the MADT in use?
-- is the subtable of the proper length (including checking
on the one variable length subtable that is currently ignored),
given the FADT version and the MADT revision?
Further, this patch set adds in the call to bad_madt_entry() from the
acpi_table_parse_madt() function, allowing it to be used consistently
by all architectures, for all subtables, and removing the need for each
of the subtable traversal callback functions to use BAD_MADT_ENTRY.
In theory, as the ACPI specification changes, we would only have to add
additional information to the data set describing the MADT subtables in
order to continue providing sanity checks, even when new subtables are
added.
These patches have been tested on an APM Mustang (arm64) and are known to
work there. They have also been cross-compiled for x86 and ia64 with no
known failures.
Changes for v2:
-- Acked-by on 2/5 from Marc Zyngier and Catalin Marinas for ARM
-- Correct faulty end of loop test found by Timur Tabi
Al Stone (5):
ACPI: add in a bad_madt_entry() function to eventually replace the
macro
ACPI / ARM64: remove usage of BAD_MADT_ENTRY/BAD_MADT_GICC_ENTRY
ACPI / IA64: remove usage of BAD_MADT_ENTRY
ACPI / X86: remove usage of BAD_MADT_ENTRY
ACPI: remove definition of BAD_MADT_ENTRY macro
arch/arm64/include/asm/acpi.h | 8 --
arch/arm64/kernel/perf_event.c | 3 -
arch/arm64/kernel/smp.c | 2 -
arch/ia64/kernel/acpi.c | 20 ----
arch/x86/kernel/acpi/boot.c | 27 -----
drivers/acpi/tables.c | 241 +++++++++++++++++++++++++++++++++++++++++
drivers/irqchip/irq-gic-v2m.c | 2 -
drivers/irqchip/irq-gic.c | 6 -
include/linux/acpi.h | 4 -
9 files changed, 241 insertions(+), 72 deletions(-)
--
2.4.3
On Tue, Sep 8, 2015 at 12:03 PM, Leif Lindholm <leif.lindholm(a)linaro.org> wrote:
> On Tue, Sep 08, 2015 at 02:09:51PM +0100, Mark Rutland wrote:
>> On Tue, Sep 08, 2015 at 01:43:35PM +0100, Leif Lindholm wrote:
>> > The ACPI DBG2 table defines a debug console. Add support for parsing it
>> > and using it to select earlycon destination when no arguments provided.
>> >
>> > Signed-off-by: Leif Lindholm <leif.lindholm(a)linaro.org>
>>
>> [...]
>>
>> > diff --git a/drivers/acpi/console.c b/drivers/acpi/console.c
>> > new file mode 100644
>> > index 0000000..a985890
>> > --- /dev/null
>> > +++ b/drivers/acpi/console.c
>> > @@ -0,0 +1,103 @@
>> > +/*
>> > + * Copyright (c) 2012, Intel Corporation
>> > + * Copyright (c) 2015, Linaro Ltd.
>> > + *
>> > + * This program is free software; you can redistribute it and/or modify
>> > + * it under the terms of the GNU General Public License version 2 as
>> > + * published by the Free Software Foundation.
>> > + *
>> > + */
>> > +
>> > +#define DEBUG
>>
>> Why?
>
> Kept around from Lv Zheng's 2012 set. Will drop.
>
>> > +#define pr_fmt(fmt) "ACPI: " KBUILD_MODNAME ": " fmt
>> > +
>> > +#include <linux/acpi.h>
>> > +#include <linux/kernel.h>
>> > +#include <linux/serial_core.h>
>> > +
>> > +#define NUM_ELEMS(x) (sizeof(x) / sizeof(*x))
>>
>> Use ARRAY_SIZE (from kernel.h).
>
> I was sure there was something like that, but my grep-fu failed me.
> Will fix.
>
>> > +
>> > +#ifdef CONFIG_SERIAL_EARLYCON
>> > +static int use_earlycon __initdata;
>> > +static int __init setup_acpi_earlycon(char *buf)
>> > +{
>> > + if (!buf)
>> > + use_earlycon = 1;
>> > +
>> > + return 0;
>> > +}
>> > +early_param("earlycon", setup_acpi_earlycon);
>>
>> It seems a shame to add this after folding the OF case into the earlycon
>> code. What necessitates this being a separate early_param? Why is it too
>> early to parse DBG2?
>
> Currently, we don't even know where our ACPI tables are at this point
> (efi_init() is called two functions after parse_early_param() in
> setup_arch). More specifically, because acpi_boot_table_init() is
> called even later than that.
>
> If we moved both of those earlier, we could drop the extra earlycon
> param handling for ACPI. That would of course reduce the ability to
> have dynamically configurable debug messages for both of these.
Personally, I liked that we don't have to have the early_param
handling globally located. I'm not sure I see the benefit of
centralizing it especially if it doesn't even help for your case.
Rob
From: "Jonathan (Zhixiong) Zhang" <zjzhang(a)codeaurora.org>
Currently the kernel ignores CPER records that are unrecognized.
On the other hand, UEFI spec allows for non-standard (eg. vendor
proprietary) error section type in CPER (Common Platform Error Record),
as defined in section N2.3 of UEFI version 2.5. Therefore, user
is not able to see hardware error data of non-standard section.
If section Type field of Generic Error Data Entry is unrecognized,
prints out the raw data in dmesg buffer, and also adds a tracepoint
for reporting such hardware error.
V2:
1. Handle all unrecognized CPER records instead of matching with
section type that is known to be vendor proprietary. (Borislav)
Jonathan (Zhixiong) Zhang (2):
efi: print unrecognized CPER section
ras: acpi/apei: generate trace event for unrecognized CPER section
drivers/acpi/apei/ghes.c | 23 +++++++++++++++++++++--
drivers/firmware/efi/cper.c | 39 +++++++++++++++++++++++++++++++--------
drivers/ras/ras.c | 1 +
include/ras/ras_event.h | 45 +++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 98 insertions(+), 10 deletions(-)
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
Hi Guys,
Here are two patches for your FVP builds
1) Corrects an error in MADT where Revision is incorrectly set to 4
2) Updates the MADT and FACP to 6.0 spec
Have fun
Graeme
En xtop encontras lo ultimo en series y peliculas destacadas.
Encontranos con la palabra xtop con cualquier buscador.
Tienda online Venta por internet !
Peliculas Estrenos y preestrenos:
8 APELLIDOS VASCOS
AGUA
ABZURDAH
AGUAS TRANQUILAS
ANTMAN (EL HOMBRE HORMIGA)
Bajo el mismo cielo
BUSQUEDA IMPLACABLE 3 (TAKEN 3)
CENIZAS DEL PASADO
CERCANA OBSESION (THE BOY NEXT DOOR)
CHAPPIE
CIUDADES DE PAPEL (PAPER TOWNS)
CON DERECHO A ROCE
DE CABALLOS Y DE HOMBRES
DONDE SE ESCONDE EL DIABLO (WHERE THE DEVIL HIDES)
DOS DIAS UNA NOCHE (DEUX JOURS UNE NUIT)
DOS LOCAS EN FUGA (HOT PURSUIT)
DRAGON BALL Z RESURRECTION F (LA RESURRECCION DE FREEZER)
EL AÑO MAS VIOLENTO (A MOST VIOLENT YEAR)
El clan
EL GRAN PEQUEÑO (LITTLE BOY)
EL GRAN SECUESTRO DE MR HEINEKEN
EL GURU DE LAS BODAS (THE WEDDING RINGER)
EL NUEVO EXOTICO HOTEL MARIGOLD
EL PAYASO DEL MAL (CLOWN)
EL SECRETO DE ADALINE
EL SEPTIMO ENANITO (THE 7TH DWARF)
EL ULTIMO NARUTO LA PELICULA (THE LAST NARUTO THE MOVIE)
ELIMINADO (UNFRIENDED)
ESCRIBIENDO DE AMOR
INTENSAMENTE
JESSABELLE
JURASSIC WORLD (JURASSIC PARK IV)
LA CASA DEL DEMONIO (DEMONIC)
LA DAMA DE ORO (WOMAN IN GOLD)
LA MECANICA DEL CORAZON (JACK ET LA MECANIQUE DU COEUR)
LA NOCHE DEL DEMONIO 3 (INSIDIOUS)
LA OVEJA SHAUN LA PELICULA
LOS 33 DE SAN JOSE (33)
LUGARES OSCUROS (DARK PLACES)
MAD MAX 4 FURIA EN LA CARRETERA
MAGIC MIKE XXL
MAN ON WIRE (EL ALAMBRISTA)
MIENTRAS SEAMOS JOVENES (WHILE WERE YOUNG)
MIL VECES BUENAS NOCHES (A THOU SAND TIMES GOODNIGHT)
MINIONS
MISION IMPOSIBLE 5 NACION SECRETA
NOTAS PERFECTAS 2 (PITCH PERFECT 2)
PIXELES
POLTERGEIST (JUEGOS DIABOLICOS)
PUERTAS ADENTRO (MUSARAÑAS)
RAPIDOS Y FURIOSOS 7
RESUCITADOS
SHOWROOM
SPY UNA ESPIA DESPISTADA
TE SIGUE (IT FOLLOWS)
TED 2
TERAPIA DE BROADWAY (SHES FUNNY THAT WAY)
TERMINATOR 5 GENESIS
TERREMOTO LA FALLA DE SAN ANDRES
TOMORROWLAND EL MUNDO DEL MAÑANA
TRASH (LADRONES DE ESPERANZA)
TRUENO Y LA CASA MAGICA
UN CASTILLO EN ITALIA (UN CHATEAU EN ITALIE)
UN NUEVO DESPERTAR (THE HUMBLING)
UNA NOCHE PARA SOBREVIVIR (RUN ALL NIGHT)
VOLEY
series DE TV :
A TOUCH OF CLOTH
ANTMAN (EL HOMBRE HORMIGA)
BLACK MIRROR 02* TEMP DVD 01
COMBATE
DARK MATTER
DEVIOUS MAIDS
DOWNTON ABBEY
DR HOUSE
DRAGON BALL SUPE
EL TIEMPO ENTRE COSTURAS 01*
FEAR THE WALKING DEAD
GAME OF THRONES 05* TEMP DVD
GYM TONY
HEROES
HOUSE OF CARDS 03* TEMP DVD 03
HUMANS
INFIELES (MISTRESSES)
JONATHAN STRANGE AND MR NORRELL
LOS CABALLEROS DEL ZODIACO ALMA DORADA
MAJOR CRIMES
ORANGE IS THE NEW BLACK 03*
OUTLANDER
PATITO FEO
REVENGE 04* TEMP DVD 03
STITCHERS
TEEN WOLF
THE BLACKLIST
THE BRINK
THE FOSTERS
THE MESSENGERS
VIKINGOS 03* TEMP DVD 02
WAYWARD PINES
ZUMBA SCULPT