@ -25,14 +25,14 @@
# define MAGIC 0xcafec0de
# define MAGIC 0xcafec0de
# define ADDRESS 0x4000
# define ADDRESS 0x4000
static void check_guest_memory ( void )
static void check_guest_memory ( QTestState * qts )
{
{
uint32_t signature ;
uint32_t signature ;
int i ;
int i ;
/* Poll until code has run and modified memory. Wait at most 600 seconds */
/* Poll until code has run and modified memory. Wait at most 600 seconds */
for ( i = 0 ; i < 60000 ; + + i ) {
for ( i = 0 ; i < 60000 ; + + i ) {
signature = readl ( ADDRESS ) ;
signature = qtest_ readl( qts , ADDRESS ) ;
if ( signature = = MAGIC ) {
if ( signature = = MAGIC ) {
break ;
break ;
}
}
@ -45,17 +45,16 @@ static void check_guest_memory(void)
static void test_machine ( const void * machine )
static void test_machine ( const void * machine )
{
{
const char * extra_args ;
const char * extra_args ;
QTestState * qts ;
/* The pseries firmware boots much faster without the default devices */
/* The pseries firmware boots much faster without the default devices */
extra_args = strcmp ( machine , " pseries " ) = = 0 ? " -nodefaults " : " " ;
extra_args = strcmp ( machine , " pseries " ) = = 0 ? " -nodefaults " : " " ;
global_qtest = qtest_initf ( " -M %s,accel=tcg %s "
qts = qtest_initf ( " -M %s,accel=tcg %s -prom-env 'use-nvramrc?=true' "
" -prom-env 'use-nvramrc?=true' "
" -prom-env 'nvramrc=%x %x l!' " , ( const char * ) machine ,
" -prom-env 'nvramrc=%x %x l!' " ,
extra_args , MAGIC , ADDRESS ) ;
( const char * ) machine , extra_args ,
check_guest_memory ( qts ) ;
MAGIC , ADDRESS ) ;
qtest_quit ( qts ) ;
check_guest_memory ( ) ;
qtest_quit ( global_qtest ) ;
}
}
static void add_tests ( const char * machines [ ] )
static void add_tests ( const char * machines [ ] )