Merge branch 'upstream-x86-selftests' into WIP.x86/pti.base
Conflicts: arch/x86/kernel/cpu/Makefile Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
commit
650400b2cc
19 changed files with 615 additions and 524 deletions
|
|
@ -228,32 +228,6 @@ static inline unsigned long __ffs64(u64 word)
|
|||
return __ffs((unsigned long)word);
|
||||
}
|
||||
|
||||
/*
|
||||
* clear_bit32 - Clear a bit in memory for u32 array
|
||||
* @nr: Bit to clear
|
||||
* @addr: u32 * address of bitmap
|
||||
*
|
||||
* Same as clear_bit, but avoids needing casts for u32 arrays.
|
||||
*/
|
||||
|
||||
static __always_inline void clear_bit32(long nr, volatile u32 *addr)
|
||||
{
|
||||
clear_bit(nr, (volatile unsigned long *)addr);
|
||||
}
|
||||
|
||||
/*
|
||||
* set_bit32 - Set a bit in memory for u32 array
|
||||
* @nr: Bit to clear
|
||||
* @addr: u32 * address of bitmap
|
||||
*
|
||||
* Same as set_bit, but avoids needing casts for u32 arrays.
|
||||
*/
|
||||
|
||||
static __always_inline void set_bit32(long nr, volatile u32 *addr)
|
||||
{
|
||||
set_bit(nr, (volatile unsigned long *)addr);
|
||||
}
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#ifndef set_mask_bits
|
||||
|
|
|
|||
|
|
@ -2496,7 +2496,7 @@ void vmemmap_populate_print_last(void);
|
|||
void vmemmap_free(unsigned long start, unsigned long end);
|
||||
#endif
|
||||
void register_page_bootmem_memmap(unsigned long section_nr, struct page *map,
|
||||
unsigned long size);
|
||||
unsigned long nr_pages);
|
||||
|
||||
enum mf_flags {
|
||||
MF_COUNT_INCREASED = 1 << 0,
|
||||
|
|
|
|||
|
|
@ -1151,13 +1151,17 @@ struct mem_section {
|
|||
#define SECTION_ROOT_MASK (SECTIONS_PER_ROOT - 1)
|
||||
|
||||
#ifdef CONFIG_SPARSEMEM_EXTREME
|
||||
extern struct mem_section *mem_section[NR_SECTION_ROOTS];
|
||||
extern struct mem_section **mem_section;
|
||||
#else
|
||||
extern struct mem_section mem_section[NR_SECTION_ROOTS][SECTIONS_PER_ROOT];
|
||||
#endif
|
||||
|
||||
static inline struct mem_section *__nr_to_section(unsigned long nr)
|
||||
{
|
||||
#ifdef CONFIG_SPARSEMEM_EXTREME
|
||||
if (!mem_section)
|
||||
return NULL;
|
||||
#endif
|
||||
if (!mem_section[SECTION_NR_TO_ROOT(nr)])
|
||||
return NULL;
|
||||
return &mem_section[SECTION_NR_TO_ROOT(nr)][nr & SECTION_ROOT_MASK];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue