Before the introduction of ExprDefined, VarFlags contained whether the
expression was defined or not, which was useful to know since the final
value of the expression depends on this information. The other VarFlags
do not influence the evaluation, so there is no point logging them.
During the evaluation, the flags of the variable don't change, except
for VFL_IN_USE, but in such a case make exits immediately anyway.
Logging the variable flags does not provide any useful information, so
it will be removed soon. Logging the variable flags made sense when the
definedness of the expression was still encoded in the variable flags,
instead of in the separate ExprDefined.
No functional change.
- When star formatting to adjust the width, count the trailing number of
digits starting backwards instead of using strcspn because the lwp name
might contain other digits like wm0TxRx/10.
This release is available at https://acpica.org/downloads, and
includes all ACPI 6.4 support
1) ACPICA kernel-resident subsystem:
ACPI 6.4: iASL: deprecate DDBHandleObj keyword
Always create namespace nodes using AcpiNsCreateNode(). ACPICA is
allocating an object using kmalloc(), but then frees it using
kmem_cache_free(<"Acpi-Namespace" kmem_cache>). This is wrong.
Fixed a race condition in generic serial bus operation region
handler. Fixed by Hans de Goede.
2) iASL Compiler/Disassembler and ACPICA tools:
ACPI 6.4: NFIT: add Location Cookie field
ACPI 6.4: HMAT: add new fields/flags
ACPI 6.4: Add new flags in SRAT
ACPI 6.4: add SDEV secure access components
ACPI 6.4: add Csi2Bus resource template
ACPI 6.4: add support for PHAT table
ACPI 6.4: add support for PMTT table
Add disassembly support for the IVRS table. Compilation of the
table is not yet complete. Fixed a potential infinite loop due to
type mismatch. The for-loop is using a UINT8 counter and comparing
the upper limit against a UINT32 AslGbl_ExpectedMessagesIndex
maximum. In the case where AslGbl_ExpectedMessagesIndex is > 255
the counter i will wrap around to zero and the loop will never
exit. I suspect the AslGbl_ExpectedMessagesIndex is never that
high, but fixing this does future proof the code and cleans up
static analysis warnings.Colin King.
iASL/TableCompiler: update it with IORT table E.b revision changes.
From shamiali2008.
iASL/TableCompiler: Add compilation support for the VIOT table.
Signed-off-by: Jean-Philippe Brucker.
iASL/TableCompiler: Add compilation support for CEDT table.
Also, update the CEDT template.
to acquire the pmap activation lock, regardless of whether or not that was
successful. So, in addition to remember if we acquired it, also remember
if we tried, and drop back to IPL_VM if so.
The definition of MAKE_GNUC_PREREQ was not supposed to be changed. This
change only slipped accidentally, the test for __STDC_VERSION__ was only
supposed to be for UNCONST.
panic reported by John Klos on port-alpha:
- pmap_tlb_shootnow(): If we acquire a pmap's activation lock, we will
have raised the IPL on the current CPU to IPL_SCHED until we drop
the tlb_lock (due to how nested spin mutexes work). As such, when
we release the activation lock, forcibly lower our IPL back to IPL_VM
so that we can receive and process IPIs while waiting for other CPUs
to process the shootdowns.
- mutex_vector_enter(): Invoke SPINLOCK_SPIN_HOOK while spinning to acquire
a spin mutex. This is a nop on most platforms, but it's important on
the Alpha. Without this, IPIs (and thus TLB shootdowns) cannot be
processed if trying to acquire an IPL_SCHED spin mutex such as those
used by the scheduler.
...and while we're poking around in here:
- Rework the Alpha SPINLOCK_SPIN_HOOK to only check curcpu()->ci_ipis
if the current CPU's IPL is >= IPL_CLOCK (thus ensuring that preemption
is disabled and thus guaranteeing that curcpu() is stable). (Alpha does
not yet support kernel preemption, but this is now one less thing that
would need to be fixed.)
In the past few months I had accidentally used C99 features in the make
code. According to tools/README, tools that are used in the build
system should restrict themselves to C90.
This allows make to build with GCC's options "-pedantic
-Wno-system-headers -Dinline= -Wno-error=cast-qual".
I didn't notice anyone actively complaining though, I just wanted to see
how much work this backporting would be. The identifier __func__ is
still used, as in other tools.
No functional change.
before very late 2020 (1/1/2021 minus a few leap days) instead of
late 1994. Someone(TM) should remember to adjust this in somewhat
less than 26 years.
- Obsolete the sc_rest callback. The rest note operation can be done by
the common spkr layer. This also fixes PR kern/56060.
This work-in-progress patch was left in my local tree for years. :(
- Improve calculations of tone and rest length.
Since init.c 1.177 from 2021-03-29, the type of the object to be
initialized is no longer modified in the middle of the initialization,
as required by C99 6.7.8p22. Therefore it is no longer necessary to
keep this redundant information around.
No functional change.
The new name highlights that the returned memory is only valid in the
scope of the current expression. This was misleading before since the
other related functions all have a 't' (probably for 'temporary') in
their names.
Also encode in the function name that the returned memory is zeroed out
as that could not be inferred from the old name.
No functional change.