PatchworkOS
Loading...
Searching...
No Matches
Integer

Integer revision handling. More...

Macros

#define AML_TRUE   aml_integer_ones()
 AML Boolean true value.
 
#define AML_FALSE   0
 AML Boolean false value.
 

Typedefs

typedef uint64_t aml_integer_t
 AML Integer type.
 

Functions

uint64_t aml_integer_handling_init (void)
 Initialize integer handling.
 
uint8_t aml_integer_byte_size (void) PURE_FUNC
 Get the byte size of an AML integer.
 
uint8_t aml_integer_bit_size (void) PURE_FUNC
 Get the bit size of an AML integer.
 
aml_integer_t aml_integer_ones (void) PURE_FUNC
 Get a mask with all bits set for the current AML integer size.
 

Detailed Description

Integer revision handling.

This module handles the varying size of integers in AML, which can be either 32 or 64 bits depending on the ACPI revision.

Macro Definition Documentation

◆ AML_FALSE

#define AML_FALSE   0

AML Boolean false value.

Definition at line 30 of file integer.h.

◆ AML_TRUE

#define AML_TRUE   aml_integer_ones()

AML Boolean true value.

Definition at line 25 of file integer.h.

Typedef Documentation

◆ aml_integer_t

AML Integer type.

Definition at line 20 of file integer.h.

Function Documentation

◆ aml_integer_bit_size()

uint8_t aml_integer_bit_size ( void  )

Get the bit size of an AML integer.

Returns
The bit size of an AML integer (32 or 64).

Definition at line 27 of file integer.c.

References integerByteSize.

Referenced by aml_def_find_set_left_bit_read(), aml_def_find_set_right_bit_read(), aml_def_shift_left_read(), aml_def_shift_right_read(), aml_get_access_size(), aml_object_get_bits_at(), and aml_object_set_bits_at().

◆ aml_integer_byte_size()

uint8_t aml_integer_byte_size ( void  )

Get the byte size of an AML integer.

Returns
The byte size of an AML integer (4 or 8).

Definition at line 22 of file integer.c.

References integerByteSize.

Referenced by aml_buffer_field_load(), aml_buffer_to_integer(), aml_concat_integer(), aml_convert_integer_to_bcd(), aml_field_unit_load(), aml_integer_to_buffer(), aml_integer_to_string(), and aml_string_to_integer().

◆ aml_integer_handling_init()

uint64_t aml_integer_handling_init ( void  )

Initialize integer handling.

Returns
On success, 0. On failure, ERR and errno is set.

Definition at line 8 of file integer.c.

References acpi_tables_lookup(), DSDT_SIGNATURE, ERR, dsdt_t::header, integerByteSize, LOG_ERR, LOG_INFO, NULL, and sdt_header_t::revision.

Referenced by aml_init().

◆ aml_integer_ones()

aml_integer_t aml_integer_ones ( void  )

Get a mask with all bits set for the current AML integer size.

Returns
A mask with all bits set for the current AML integer size.

Definition at line 32 of file integer.c.

References integerByteSize, UINT32_MAX, and UINT64_MAX.

Referenced by aml_const_obj_read(), aml_def_match_read(), aml_integer_set(), aml_object_get_bits_at(), and aml_object_set_bits_at().