sandbox: Add test function to advance time
Add a function that maintains an offset to include in the system timer values returned from the lib/time.c APIs. This will allow timeouts to be skipped instantly in tests Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
905e8f9e53
commit
909bd6d972
|
@ -45,11 +45,6 @@ void __udelay(unsigned long usec)
|
||||||
os_usleep(usec);
|
os_usleep(usec);
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned long __attribute__((no_instrument_function)) timer_get_us(void)
|
|
||||||
{
|
|
||||||
return os_get_nsec() / 1000;
|
|
||||||
}
|
|
||||||
|
|
||||||
int cleanup_before_linux(void)
|
int cleanup_before_linux(void)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -28,4 +28,12 @@ void sandbox_i2c_eeprom_set_test_mode(struct udevice *dev,
|
||||||
|
|
||||||
void sandbox_i2c_eeprom_set_offset_len(struct udevice *dev, int offset_len);
|
void sandbox_i2c_eeprom_set_offset_len(struct udevice *dev, int offset_len);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* sandbox_timer_add_offset()
|
||||||
|
*
|
||||||
|
* Allow tests to add to the time reported through lib/time.c functions
|
||||||
|
* offset: number of milliseconds to advance the system time
|
||||||
|
*/
|
||||||
|
void sandbox_timer_add_offset(unsigned long offset);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
#include <cros_ec.h>
|
#include <cros_ec.h>
|
||||||
#include <dm.h>
|
#include <dm.h>
|
||||||
#include <os.h>
|
#include <os.h>
|
||||||
|
#include <asm/test.h>
|
||||||
#include <asm/u-boot-sandbox.h>
|
#include <asm/u-boot-sandbox.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -25,9 +26,17 @@ void flush_cache(unsigned long start, unsigned long size)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* system timer offset in ms */
|
||||||
|
static unsigned long sandbox_timer_offset;
|
||||||
|
|
||||||
|
void sandbox_timer_add_offset(unsigned long offset)
|
||||||
|
{
|
||||||
|
sandbox_timer_offset += offset;
|
||||||
|
}
|
||||||
|
|
||||||
unsigned long timer_read_counter(void)
|
unsigned long timer_read_counter(void)
|
||||||
{
|
{
|
||||||
return os_get_nsec() / 1000;
|
return os_get_nsec() / 1000 + sandbox_timer_offset * 1000;
|
||||||
}
|
}
|
||||||
|
|
||||||
int dram_init(void)
|
int dram_init(void)
|
||||||
|
|
Loading…
Reference in New Issue