cpu: Provide a way to get the physical-address size
This concept exists on x86. Declare it as a generic function so that the value can be accessed by UPL. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
@@ -284,15 +284,6 @@ u32 cpu_get_family_model(void);
|
||||
*/
|
||||
u32 cpu_get_stepping(void);
|
||||
|
||||
/**
|
||||
* cpu_phys_address_size() - Get the physical address size in bits
|
||||
*
|
||||
* This is 32 for older CPUs but newer ones may support 36.
|
||||
*
|
||||
* Return: address size (typically 32 or 36)
|
||||
*/
|
||||
int cpu_phys_address_size(void);
|
||||
|
||||
void board_final_init(void);
|
||||
void board_final_cleanup(void);
|
||||
|
||||
|
@@ -5,6 +5,7 @@
|
||||
* Copyright 2021 Google LLC
|
||||
*/
|
||||
|
||||
#include <cpu.h>
|
||||
#include <efi.h>
|
||||
#include <init.h>
|
||||
#include <asm/cpu.h>
|
||||
|
@@ -179,4 +179,18 @@ struct udevice *cpu_get_current_dev(void);
|
||||
* @return 0 if OK, -ve on error
|
||||
*/
|
||||
int cpu_release_core(const struct udevice *dev, phys_addr_t addr);
|
||||
|
||||
/**
|
||||
* cpu_phys_address_size() - Get the physical-address size for the CPU
|
||||
*
|
||||
* x86 CPUs have a setting which indicates how many bits of address space are
|
||||
* available on the CPU. This is 32 for older CPUs but newer ones may support 36
|
||||
* or more.
|
||||
*
|
||||
* For non-x86 CPUs the result may simply be 32 for 32-bit CPUS or 64 for 64-bit
|
||||
*
|
||||
* Return: address size (typically 32 or 36)
|
||||
*/
|
||||
int cpu_phys_address_size(void);
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user