| 87 |
#define CUDA_TIMER_FREQ (4700000 / 6) |
#define CUDA_TIMER_FREQ (4700000 / 6) |
| 88 |
#define CUDA_ADB_POLL_FREQ 50 |
#define CUDA_ADB_POLL_FREQ 50 |
| 89 |
|
|
| 90 |
|
/* CUDA returns time_t's offset from Jan 1, 1904, not 1970 */ |
| 91 |
|
#define RTC_OFFSET 2082844800 |
| 92 |
|
|
| 93 |
typedef struct CUDATimer { |
typedef struct CUDATimer { |
| 94 |
unsigned int latch; |
unsigned int latch; |
| 95 |
uint16_t counter_value; /* counter value at load time */ |
uint16_t counter_value; /* counter value at load time */ |
| 506 |
break; |
break; |
| 507 |
case CUDA_GET_TIME: |
case CUDA_GET_TIME: |
| 508 |
/* XXX: add time support ? */ |
/* XXX: add time support ? */ |
| 509 |
ti = time(NULL); |
ti = time(NULL) + RTC_OFFSET; |
| 510 |
obuf[0] = CUDA_PACKET; |
obuf[0] = CUDA_PACKET; |
| 511 |
obuf[1] = 0; |
obuf[1] = 0; |
| 512 |
obuf[2] = 0; |
obuf[2] = 0; |
| 525 |
obuf[1] = 0; |
obuf[1] = 0; |
| 526 |
cuda_send_packet_to_host(s, obuf, 2); |
cuda_send_packet_to_host(s, obuf, 2); |
| 527 |
break; |
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; |
| 534 |
default: |
default: |
| 535 |
break; |
break; |
| 536 |
} |
} |