Commit d7ce296f57740c076279fd6a0282bea255ec0842
1 parent
f8407028
power down support + date fix (Thayne Harbaugh)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1275 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
10 additions
and
1 deletions
hw/cuda.c
... | ... | @@ -87,6 +87,9 @@ |
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,7 +506,7 @@ static void cuda_receive_packet(CUDAState *s, |
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,6 +525,12 @@ static void cuda_receive_packet(CUDAState *s, |
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 | } | ... | ... |