[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v7 5/8] xen/riscv: introduce functionality to work with CPU info
On 13.09.2024 17:57, Oleksii Kurochko wrote: > Introduce struct pcpu_info to store pCPU-related information. > Initially, it includes only processor_id and hart id, but it > will be extended to include guest CPU information and > temporary variables for saving/restoring vCPU registers. > > Add set_processor_id() function to set processor_id stored in > pcpu_info. > > Define smp_processor_id() to provide accurate information, > replacing the previous "dummy" value of 0. > > Initialize tp registers to point to pcpu_info[0]. > Set processor_id to 0 for logical CPU 0 and store the physical > CPU ID in pcpu_info[0]. > > Introduce helpers for getting hart_id ( physical CPU id in RISC-V > terms ) from Xen CPU id. > > Removing of <asm/processor.h> inclusion leads to the following > compilation error: > common/keyhandler.c: In function 'dump_registers': > common/keyhandler.c:200:13: error: implicit declaration of function > 'cpu_relax' [-Werror=implicit-function-declaration] > 200 | cpu_relax(); What is this paragraph about? It may be stale, or it may be lacking information / context on what it tries to explain. > @@ -14,6 +16,22 @@ DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask); > */ > #define park_offline_cpus false > > +/* > + * Mapping between Xen logical cpu index and hartid. > + */ > +static inline unsigned long cpuid_to_hartid(unsigned long cpuid) > +{ > + return pcpu_info[cpuid].hart_id; > +} > + > +static inline void map_cpuid_to_hartid(unsigned long cpuid, > + unsigned long hartid) > +{ > + pcpu_info[cpuid].hart_id = hartid; > +} "map" is ambiguous - it may mean both "get" or "set". May I ask that this become "set", just like for the processor-ID helper? Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |