Revision d7ce296f

b/hw/cuda.c
87 87
#define CUDA_TIMER_FREQ (4700000 / 6)
88 88
#define CUDA_ADB_POLL_FREQ 50
89 89

  
90
/* CUDA returns time_t's offset from Jan 1, 1904, not 1970 */
91
#define RTC_OFFSET                      2082844800
92

  
90 93
typedef struct CUDATimer {
91 94
    unsigned int latch;
92 95
    uint16_t counter_value; /* counter value at load time */
......
503 506
        break;
504 507
    case CUDA_GET_TIME:
505 508
        /* XXX: add time support ? */
506
        ti = time(NULL);
509
        ti = time(NULL) + RTC_OFFSET;
507 510
        obuf[0] = CUDA_PACKET;
508 511
        obuf[1] = 0;
509 512
        obuf[2] = 0;
......
522 525
        obuf[1] = 0;
523 526
        cuda_send_packet_to_host(s, obuf, 2);
524 527
        break;
528
    case CUDA_POWERDOWN:
529
        obuf[0] = CUDA_PACKET;
530
        obuf[1] = 0;
531
        cuda_send_packet_to_host(s, obuf, 2);
532
	qemu_system_shutdown_request();
533
	break;
525 534
    default:
526 535
        break;
527 536
    }

Also available in: Unified diff