From: Fu Wei <fu.wei(a)linaro.org>
This patchset update gtdt.asl for VExpress/AcpiTables/rtsm_ve-aemv8a
(1)Fix "Platform Timer Offset" value bug
(2)Add Memory-mapped GT and SBSA Generic Watchdog timer info
base on Foundation Model
Fu Wei (2):
Platforms/ARM: Fix "Platform Timer Offset" value bug in gtdt.asl
Platforms/ARM: update gtdt.asl for VExpress
.../VExpress/AcpiTables/rtsm_ve-aemv8a/gtdt.asl | 67 +++++++++++++++++-----
1 file changed, 53 insertions(+), 14 deletions(-)
Signed-off-by: Fu Wei <fu.wei(a)linaro.org>
--
1.8.3.1
Hi,
I am observing SError on a ARM64 system where EOI mode is zero. And the
reason for SError is writing into EOI register when there is no active
interrupt.
In UEFI ArmPkg code, I see that EOI register is written two times. Once it
is called from the registered interrupt handler and then from
GicV3IrqInterruptHandler.
For example, when generic timer interrupt is generated, the
TimerInterruptHandler calls gInterrupt->EndOfInterrupt (gInterrupt, Source)
If EOI mode is zero, writing into EOI register drops the priority and
deactivates the interrupt unless it is an LPI.
Thank you,
Jayanthi
Hi all,
As part of the promotion of the ArmVirtualizationPkg/ to a top-level
Tianocore package, we used the opportunity to shorten its name (and
other derived names).
So the new top level package will be called ArmVirtPkg/. Other
occurrences have been shortened as well, e.g., the QEMU platform DSC
is now called ArmVirtPkg/ArmVirtQemu.dsc, and the AArch64 targeted
build will be created in Build/ArmVirtQemu-AARCH64/
This change is effective immediately: the change has been submitted to
the authoritative Subversion server, so the change will be synced to
GitHub later today.
Regards,
Ard.
Don't try to read the RSDP structure or RSDT/XSDT tables
from memory with the -c option. These are now provided
as files in /sysfs, and this allows acpidump to function
when /dev/mem is not available, which is the case when
booted in UEFI secure boot mode, and also for ARM servers.
Signed-off-by: Roy Franz <roy.franz(a)linaro.org>
---
This produces almost the same output with/without the "-c" option,
with the /sysfs files being used with "-c", with the following differences:
* Table address are 0x0 with -c, since we don't get them from the sysfs files
* the tables are listed in a different order.
This has been tested against the following Linux patch which is being submitted
upstream:
https://lists.linaro.org/pipermail/linaro-acpi/2015-May/004549.html
source/os_specific/service_layers/oslinuxtbl.c | 87 +++++++++++++-------------
1 file changed, 43 insertions(+), 44 deletions(-)
diff --git a/source/os_specific/service_layers/oslinuxtbl.c b/source/os_specific/service_layers/oslinuxtbl.c
index e090a3c..95cc674 100644
--- a/source/os_specific/service_layers/oslinuxtbl.c
+++ b/source/os_specific/service_layers/oslinuxtbl.c
@@ -686,70 +686,69 @@ OslTableInitialize (
return (AE_OK);
}
+ if (!Gbl_DumpCustomizedTables)
+ {
/* Get RSDP from memory */
- Status = OslLoadRsdp ();
- if (ACPI_FAILURE (Status))
- {
- return (Status);
- }
+ Status = OslLoadRsdp ();
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
- /* Get XSDT from memory */
+ /* Get XSDT from memory */
- if (Gbl_Rsdp.Revision && !Gbl_DoNotDumpXsdt)
- {
- if (Gbl_Xsdt)
+ if (Gbl_Rsdp.Revision && !Gbl_DoNotDumpXsdt)
{
- free (Gbl_Xsdt);
- Gbl_Xsdt = NULL;
+ if (Gbl_Xsdt)
+ {
+ free (Gbl_Xsdt);
+ Gbl_Xsdt = NULL;
+ }
+
+ Gbl_Revision = 2;
+ Status = OslGetBiosTable (ACPI_SIG_XSDT, 0,
+ ACPI_CAST_PTR (ACPI_TABLE_HEADER *, &Gbl_Xsdt), &Address);
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
}
- Gbl_Revision = 2;
- Status = OslGetBiosTable (ACPI_SIG_XSDT, 0,
- ACPI_CAST_PTR (ACPI_TABLE_HEADER *, &Gbl_Xsdt), &Address);
- if (ACPI_FAILURE (Status))
+ /* Get RSDT from memory */
+
+ if (Gbl_Rsdp.RsdtPhysicalAddress)
{
- return (Status);
+ if (Gbl_Rsdt)
+ {
+ free (Gbl_Rsdt);
+ Gbl_Rsdt = NULL;
+ }
+
+ Status = OslGetBiosTable (ACPI_SIG_RSDT, 0,
+ ACPI_CAST_PTR (ACPI_TABLE_HEADER *, &Gbl_Rsdt), &Address);
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
}
- }
- /* Get RSDT from memory */
+ /* Get FADT from memory */
- if (Gbl_Rsdp.RsdtPhysicalAddress)
- {
- if (Gbl_Rsdt)
+ if (Gbl_Fadt)
{
- free (Gbl_Rsdt);
- Gbl_Rsdt = NULL;
+ free (Gbl_Fadt);
+ Gbl_Fadt = NULL;
}
- Status = OslGetBiosTable (ACPI_SIG_RSDT, 0,
- ACPI_CAST_PTR (ACPI_TABLE_HEADER *, &Gbl_Rsdt), &Address);
+ Status = OslGetBiosTable (ACPI_SIG_FADT, 0,
+ ACPI_CAST_PTR (ACPI_TABLE_HEADER *, &Gbl_Fadt), &Gbl_FadtAddress);
if (ACPI_FAILURE (Status))
{
return (Status);
}
- }
- /* Get FADT from memory */
-
- if (Gbl_Fadt)
- {
- free (Gbl_Fadt);
- Gbl_Fadt = NULL;
- }
-
- Status = OslGetBiosTable (ACPI_SIG_FADT, 0,
- ACPI_CAST_PTR (ACPI_TABLE_HEADER *, &Gbl_Fadt), &Gbl_FadtAddress);
- if (ACPI_FAILURE (Status))
- {
- return (Status);
- }
-
- if (!Gbl_DumpCustomizedTables)
- {
/* Add mandatory tables to global table list first */
-
Status = OslAddTableToList (ACPI_RSDP_NAME, 0);
if (ACPI_FAILURE (Status))
{
--
1.9.1
Add support to map generic watchdog in 64 bit address space.
v0 --> v1
Replace FixedPcdGet32 with FixedPcdGet64 in ArmPlatformPkg/ArmJunoPkg/AcpiTables/Gtdt.aslc
to read the 64 bit base address of generic watchdog control and refresh frame.
Jayanthi A (2):
ArmPkg: Generic Watchdog address map
ArmPlatformPkg: Replace FixedPcdGet32 with FixedPcdGet64
ArmPkg/ArmPkg.dec | 4 ++--
ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdog.h | 8 ++++----
ArmPlatformPkg/ArmJunoPkg/AcpiTables/Gtdt.aslc | 4 ++--
3 files changed, 8 insertions(+), 8 deletions(-)
--
2.1.0
Most Linux terminal emulators use ASCII 0x7f (^?) for backspace,
rather than 0x08 (^H) since ^H is used by some programs for other
purposes, such as help menus. This results in backspace not working
in most Linux environments, particularly in emulated environments
such as QEMU where telnet or xterm may be used to connect to
the emulated UART. While in some cases this can be configured in the
terminal emulator, it must be done on every connection, as if
permently configured this will break all other uses of the terminal.
This change causes both ASCII 0x08 and 0x7F to be treated as
backspace. This provides a working backspace when tested with
minicom, screen, telnet, and xterm under Linux. I also tested
teraterm and hyperterm under Windows connecting via rs232, and
saw no regressions. (The delete key doesn't work on hyperterm
both before and after the change)
This change removes the ASCII encoding for delete, however
this did not cause regressions on any tested terminal emulators
as they do not use the ASCII encoding for the delete key.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Roy Franz <roy.franz(a)linaro.org>
---
MdeModulePkg/Universal/Console/TerminalDxe/TerminalConIn.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConIn.c b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConIn.c
index 4a008c9..c92d3d4 100644
--- a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConIn.c
+++ b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConIn.c
@@ -1212,6 +1212,14 @@ UnicodeToEfiKey (
switch (TerminalDevice->InputState) {
case INPUT_STATE_DEFAULT:
+ switch (UnicodeChar) {
+ case 0x7f:
+ UnicodeChar = CHAR_BACKSPACE;
+ break;
+ default :
+ break;
+ }
+
break;
case INPUT_STATE_ESC:
--
1.9.1
Leif and Ard,
I have the branch "rfranz-backspace" on
http://git.linaro.org/people/roy.franz/uefi-next.git
that I'd like to get you to try to make sure it works with other
setups. This should also fix
the delete key.
I still need to look more at how EDK2 determines which console type to
use, and if I need
to conditionalize any of this based on terminal type.
The backspace 'fix' is to treat both 0x8(^H) and 0x7f(^?) as
backspace. This is done by changing
0x7f values to 0x8 during the console input processing. This is
similar to how u-boot treats both
values as backspace - delete doesn't work.
Fixing the delete key is a big more involved, many (most?) linux
terminals use the vt220 escape
sequence [3~ to do delete. Right now EDK2 only handlings 2 byte
escape sequences, so the
state machine needed to be extended. This is a very 'linuxy' change,
so I don't know how popular
it will be.
I need to try the patches with a windows based terminal emulator, and
I suspect I'll end up with
the delete key being backspace, and there really being no delete.
Thanks,
Roy