Skip to content

Commit 9565d47

Browse files
mcamromrafaeljw
authored andcommitted
ACPICA: Verify DTPR and TPR Instance buffer pointers
Verify DTPR and TPR Instance buffer pointers and refactor comments. Link: acpica/acpica@bdec5b61cf5b Signed-off-by: Michal Camacho Romero <michal.camacho.romero@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Link: https://patch.msgid.link/884204745.0ifERbkFSE@rafael.j.wysocki
1 parent b110e28 commit 9565d47

1 file changed

Lines changed: 32 additions & 27 deletions

File tree

include/acpi/actbl1.h

Lines changed: 32 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1987,7 +1987,7 @@ struct acpi_ibft_target {
19871987

19881988
struct acpi_table_dtpr {
19891989
struct acpi_table_header header;
1990-
u32 flags; // 36
1990+
u32 flags; /* 36 */
19911991
u32 ins_cnt;
19921992
};
19931993

@@ -2003,66 +2003,71 @@ struct acpi_tpr_instance {
20032003

20042004
struct acpi_tpr_aux_sr {
20052005
u32 srl_cnt;
2006-
//ACPI_TPR_SERIALIZE_REQUEST tpr_sr_arr[];
2006+
/* ACPI_TPR_SERIALIZE_REQUEST tpr_sr_arr[]; */
20072007
};
20082008

2009-
/*******************************************************************************
2009+
/*
20102010
* TPRn_BASE
20112011
*
20122012
* Specifies the start address of TPRn region. TPR region address and size must
20132013
* be with 1MB resolution. These bits are compared with the result of the
20142014
* TPRn_LIMIT[63:20] * applied to the incoming address, to determine if an
20152015
* access fall within the TPRn defined region.
2016-
*******************************************************************************/
2016+
*/
2017+
20172018
struct acpi_tprn_base_reg {
20182019
u64 reserved0:3;
2019-
u64 rw:1; // access: 1 == RO, 0 == RW (for TPR must be RW)
2020-
u64 enable:1; // 0 == range enabled, 1 == range disabled
2020+
u64 rw:1; /* access: 1 == RO, 0 == RW (for TPR must be RW) */
2021+
u64 enable:1; /* 0 == range enabled, 1 == range disabled */
20212022
u64 reserved1:15;
2022-
u64 tpr_base_rw:44; // minimal TPrn_base resolution is 1MB.
2023-
// applied to the incoming address, to determine if an
2024-
// access fall within the TPrn defined region.
2025-
// width is determined by a bus width which can be
2026-
// obtainedvia CPUID function 0x80000008.
2027-
//u64 unused : 1;
2023+
u64 tpr_base_rw:44; /* Minimal TPRn_Base resolution is 1MB.
2024+
* Applied to the incoming address, to determine if
2025+
* an access fall within the TPRn defined region.
2026+
* Width is determined by a bus width which can be
2027+
* obtained via CPUID function 0x80000008.
2028+
*/
2029+
/* u64 unused : 1; */
20282030
};
20292031

2030-
/*******************************************************************************
2032+
/*
20312033
* TPRn_LIMIT
20322034
*
20332035
* This register defines an isolated region of memory that can be enabled
20342036
* to prohibit certain system agents from accessing memory. When an agent
20352037
* sends a request upstream, whether snooped or not, a TPR prevents that
20362038
* transaction from changing the state of memory.
2037-
*******************************************************************************/
2039+
*/
20382040

20392041
struct acpi_tprn_limit_reg {
20402042
u64 reserved0:3;
2041-
u64 rw:1; // access: 1 == RO, 0 == RW (for TPR must be RW)
2042-
u64 enable:1; // 0 == range enabled, 1 == range disabled
2043+
u64 rw:1; /* access: 1 == RO, 0 == RW (for TPR must be RW) */
2044+
u64 enable:1; /* 0 == range enabled, 1 == range disabled */
20432045
u64 reserved1:15;
2044-
u64 tpr_limit_rw:44; // minimal TPrn_limit resolution is 1MB.
2045-
// these bits define TPR limit address.
2046-
// width is determined by a bus width.
2046+
u64 tpr_limit_rw:44; /* Minimal TPRn_Limit resolution is 1MB.
2047+
* These bits define TPR limit address.
2048+
* Width is determined by a bus width.
2049+
*/
20472050

2048-
//u64 unused : 1;
2051+
/* u64 unused : 1; */
20492052
};
20502053

2051-
/*******************************************************************************
2054+
/*
20522055
* SERIALIZE_REQUEST
20532056
*
20542057
* This register is used to request serialization of non-coherent DMA
20552058
* transactions. OS shall issue it before changing of TPR settings
20562059
* (base / size).
2057-
*******************************************************************************/
2060+
*/
20582061

20592062
struct acpi_tpr_serialize_request {
20602063
u64 sr_register;
2061-
// BIT 1 - status of serialization request (RO)
2062-
// 0 == register idle, 1 == serialization in progress
2063-
// BIT 2 - control field to initiate serialization (RW)
2064-
// 0 == normal, 1 == initialize serialization
2065-
// (self-clear to allow multiple serialization requests)
2064+
/*
2065+
* BIT 1 - Status of serialization request (RO)
2066+
* 0 == register idle, 1 == serialization in progress
2067+
* BIT 2 - Control field to initiate serialization (RW)
2068+
* 0 == normal, 1 == initialize serialization
2069+
* (self-clear to allow multiple serialization requests)
2070+
*/
20662071
};
20672072

20682073
/* Reset to default packing */

0 commit comments

Comments
 (0)