mirror of
https://github.com/memtest86plus/memtest86plus.git
synced 2025-02-25 18:55:23 -06:00
Remove unnecessary volatile qualifiers from test state variables.
Thread safety is ensured by the barriers.
This commit is contained in:
parent
e032df50d2
commit
02bcec2418
54
app/main.c
54
app/main.c
@ -62,29 +62,29 @@
|
|||||||
// The following variables are written by the current "master" CPU, but may
|
// The following variables are written by the current "master" CPU, but may
|
||||||
// be read by all active CPUs.
|
// be read by all active CPUs.
|
||||||
|
|
||||||
static volatile int init_state = 0;
|
static volatile int init_state = 0;
|
||||||
|
|
||||||
static int num_enabled_cpus = 1;
|
static int num_enabled_cpus = 1;
|
||||||
|
|
||||||
static uintptr_t low_load_addr;
|
static uintptr_t low_load_addr;
|
||||||
static uintptr_t high_load_addr;
|
static uintptr_t high_load_addr;
|
||||||
|
|
||||||
static barrier_t *start_barrier = NULL;
|
static barrier_t *start_barrier = NULL;
|
||||||
|
|
||||||
static volatile bool start_run = false;
|
static bool start_run = false;
|
||||||
static volatile bool start_pass = false;
|
static bool start_pass = false;
|
||||||
static volatile bool start_test = false;
|
static bool start_test = false;
|
||||||
static volatile bool rerun_test = false;
|
static bool rerun_test = false;
|
||||||
|
|
||||||
static volatile bool dummy_run = false;
|
static bool dummy_run = false;
|
||||||
|
|
||||||
static volatile int window_num = 0;
|
static int window_num = 0;
|
||||||
static volatile uintptr_t window_start = 0;
|
static uintptr_t window_start = 0;
|
||||||
static volatile uintptr_t window_end = 0;
|
static uintptr_t window_end = 0;
|
||||||
|
|
||||||
static volatile size_t num_mapped_pages = 0;
|
static size_t num_mapped_pages = 0;
|
||||||
|
|
||||||
static volatile int test_stage = 0;
|
static int test_stage = 0;
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// Public Variables
|
// Public Variables
|
||||||
@ -92,26 +92,26 @@ static volatile int test_stage = 0;
|
|||||||
|
|
||||||
// These are exposed in test.h.
|
// These are exposed in test.h.
|
||||||
|
|
||||||
uint8_t chunk_index[MAX_CPUS];
|
uint8_t chunk_index[MAX_CPUS];
|
||||||
|
|
||||||
volatile int num_active_cpus = 1;
|
int num_active_cpus = 0;
|
||||||
|
|
||||||
volatile int master_cpu = 0;
|
int master_cpu = 0;
|
||||||
|
|
||||||
barrier_t *run_barrier = NULL;
|
barrier_t *run_barrier = NULL;
|
||||||
|
|
||||||
spinlock_t *error_mutex = NULL;
|
spinlock_t *error_mutex = NULL;
|
||||||
|
|
||||||
volatile vm_map_t vm_map[MAX_MEM_SEGMENTS];
|
vm_map_t vm_map[MAX_MEM_SEGMENTS];
|
||||||
volatile int vm_map_size = 0;
|
int vm_map_size = 0;
|
||||||
|
|
||||||
volatile int pass_num = 0;
|
int pass_num = 0;
|
||||||
volatile int test_num = 0;
|
int test_num = 0;
|
||||||
|
|
||||||
volatile bool restart = false;
|
bool restart = false;
|
||||||
volatile bool bail = false;
|
bool bail = false;
|
||||||
|
|
||||||
volatile uintptr_t test_addr[MAX_CPUS];
|
uintptr_t test_addr[MAX_CPUS];
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// Private Functions
|
// Private Functions
|
||||||
|
24
app/test.h
24
app/test.h
@ -27,12 +27,12 @@ extern uint8_t chunk_index[MAX_CPUS];
|
|||||||
* The number of CPU cores being used for the current test. This is always
|
* The number of CPU cores being used for the current test. This is always
|
||||||
* either 1 or the full number of enabled CPU cores.
|
* either 1 or the full number of enabled CPU cores.
|
||||||
*/
|
*/
|
||||||
extern volatile int num_active_cpus;
|
extern int num_active_cpus;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The current master CPU core.
|
* The current master CPU core.
|
||||||
*/
|
*/
|
||||||
extern volatile int master_cpu;
|
extern int master_cpu;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* A barrier used when running tests.
|
* A barrier used when running tests.
|
||||||
@ -67,42 +67,42 @@ typedef uintptr_t testword_t;
|
|||||||
* A virtual memory segment descriptor.
|
* A virtual memory segment descriptor.
|
||||||
*/
|
*/
|
||||||
typedef struct {
|
typedef struct {
|
||||||
uintptr_t pm_base_addr;
|
uintptr_t pm_base_addr;
|
||||||
testword_t *start;
|
testword_t *start;
|
||||||
testword_t *end;
|
testword_t *end;
|
||||||
} vm_map_t;
|
} vm_map_t;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The list of memory segments currently mapped into virtual memory.
|
* The list of memory segments currently mapped into virtual memory.
|
||||||
*/
|
*/
|
||||||
extern volatile vm_map_t vm_map[MAX_MEM_SEGMENTS];
|
extern vm_map_t vm_map[MAX_MEM_SEGMENTS];
|
||||||
/*
|
/*
|
||||||
* The number of memory segments currently mapped into virtual memory.
|
* The number of memory segments currently mapped into virtual memory.
|
||||||
*/
|
*/
|
||||||
extern volatile int vm_map_size;
|
extern int vm_map_size;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The number of completed test passes.
|
* The number of completed test passes.
|
||||||
*/
|
*/
|
||||||
extern volatile int pass_num;
|
extern int pass_num;
|
||||||
/*
|
/*
|
||||||
* The current test number.
|
* The current test number.
|
||||||
*/
|
*/
|
||||||
extern volatile int test_num;
|
extern int test_num;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* A flag indicating that testing should be restarted due to a configuration
|
* A flag indicating that testing should be restarted due to a configuration
|
||||||
* change.
|
* change.
|
||||||
*/
|
*/
|
||||||
extern volatile bool restart;
|
extern bool restart;
|
||||||
/*
|
/*
|
||||||
* A flag indicating that the current test should be aborted.
|
* A flag indicating that the current test should be aborted.
|
||||||
*/
|
*/
|
||||||
extern volatile bool bail;
|
extern bool bail;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The base address of the block of memory currently being tested.
|
* The base address of the block of memory currently being tested.
|
||||||
*/
|
*/
|
||||||
extern volatile uintptr_t test_addr[MAX_CPUS];
|
extern uintptr_t test_addr[MAX_CPUS];
|
||||||
|
|
||||||
#endif // TEST_H
|
#endif // TEST_H
|
||||||
|
Loading…
Reference in New Issue
Block a user