static void rtas_set_time_of_day(sPAPREnvironment *spapr,

                                 uint32_t token, uint32_t nargs,

                                 target_ulong args,

                                 uint32_t nret, target_ulong rets)

{

    struct tm tm;



    tm.tm_year = rtas_ld(args, 0) - 1900;

    tm.tm_mon = rtas_ld(args, 1) - 1;

    tm.tm_mday = rtas_ld(args, 2);

    tm.tm_hour = rtas_ld(args, 3);

    tm.tm_min = rtas_ld(args, 4);

    tm.tm_sec = rtas_ld(args, 5);



    /* Just generate a monitor event for the change */

    rtc_change_mon_event(&tm);

    spapr->rtc_offset = qemu_timedate_diff(&tm);



    rtas_st(rets, 0, 0); /* Success */

}

static void rtas_set_time_of_day(sPAPREnvironment *spapr,

                                 uint32_t token, uint32_t nargs,

                                 target_ulong args,

                                 uint32_t nret, target_ulong rets)

{

    struct tm tm;



    tm.tm_year = rtas_ld(args, 0) - 1900;

    tm.tm_mon = rtas_ld(args, 1) - 1;

    tm.tm_mday = rtas_ld(args, 2);

    tm.tm_hour = rtas_ld(args, 3);

    tm.tm_min = rtas_ld(args, 4);

    tm.tm_sec = rtas_ld(args, 5);



    

    rtc_change_mon_event(&tm);

    spapr->rtc_offset = qemu_timedate_diff(&tm);



    rtas_st(rets, 0, 0); 

}

static void FUNC_0(sPAPREnvironment *VAR_0,

                                 uint32_t VAR_1, uint32_t VAR_2,

                                 target_ulong VAR_3,

                                 uint32_t VAR_4, target_ulong VAR_5)

{

    struct VAR_6 VAR_6;



    VAR_6.tm_year = rtas_ld(VAR_3, 0) - 1900;

    VAR_6.tm_mon = rtas_ld(VAR_3, 1) - 1;

    VAR_6.tm_mday = rtas_ld(VAR_3, 2);

    VAR_6.tm_hour = rtas_ld(VAR_3, 3);

    VAR_6.tm_min = rtas_ld(VAR_3, 4);

    VAR_6.tm_sec = rtas_ld(VAR_3, 5);



    

    rtc_change_mon_event(&VAR_6);

    VAR_0->rtc_offset = qemu_timedate_diff(&VAR_6);



    rtas_st(VAR_5, 0, 0); 

}

static void FUNC_0(sPAPREnvironment *VAR_0,
uint32_t VAR_1, uint32_t VAR_2,
target_ulong VAR_3,
uint32_t VAR_4, target_ulong VAR_5)
{ struct VAR_6 VAR_6; VAR_6.tm_year = rtas_ld(VAR_3, 0) - 1900; VAR_6.tm_mon = rtas_ld(VAR_3, 1) - 1; VAR_6.tm_mday = rtas_ld(VAR_3, 2); VAR_6.tm_hour = rtas_ld(VAR_3, 3); VAR_6.tm_min = rtas_ld(VAR_3, 4); VAR_6.tm_sec = rtas_ld(VAR_3, 5); rtc_change_mon_event(&VAR_6); VAR_0->rtc_offset = qemu_timedate_diff(&VAR_6); rtas_st(VAR_5, 0, 0); }