[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 09/17] rtc: add qc annotations
From: |
Jan Kiszka |
Subject: |
Re: [Qemu-devel] [PATCH 09/17] rtc: add qc annotations |
Date: |
Tue, 05 Jun 2012 12:40:09 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 |
On 2012-06-05 12:25, Avi Kivity wrote:
> On 06/05/2012 04:00 AM, Michael Roth wrote:
>> Add our annotations according to QIDL documentation.
>>
>> +qc_declaration typedef struct RTCState {
>> + ISADevice _immutable dev;
>> + MemoryRegion _immutable io;
>> uint8_t cmos_data[128];
>> uint8_t cmos_index;
>> struct tm current_tm;
>> int32_t base_year;
>> - qemu_irq irq;
>> - qemu_irq sqw_irq;
>> - int it_shift;
>> + qemu_irq _immutable irq;
>> + qemu_irq _immutable sqw_irq;
>
> How is qemu_irq immutable? We're raising and lowering it many times a
> second. It's _derived, perhaps, but not immutable.
No, IRQState in its current form is immutable, doesn't contain any
volatile state.
>
>> + int32_t _immutable it_shift;
>> /* periodic timer */
>> QEMUTimer *periodic_timer;
>> int64_t next_periodic_time;
>> /* second update */
>> int64_t next_second_time;
>> - uint16_t irq_reinject_on_ack_count;
>> + uint16_t _derived irq_reinject_on_ack_count;
>
> It's not derived from anything. It's _host, maybe.
I think it is _broken.
>
>> uint32_t irq_coalesced;
>> uint32_t period;
>> - QEMUTimer *coalesced_timer;
>> + QEMUTimer _broken *coalesced_timer;
>> QEMUTimer *second_timer;
>> QEMUTimer *second_timer2;
>> - Notifier clock_reset_notifier;
>> - LostTickPolicy lost_tick_policy;
>> - Notifier suspend_notifier;
>> + Notifier _broken clock_reset_notifier;
>
> Why broken?
>
>> + LostTickPolicy _immutable lost_tick_policy;
>
> _host; nothign prevents us from changing it dynamically in theory.
_host makes no sense to me. Either it is _immutable or _broken - or is
properly saved/restored. What should be the semantic of _host?
>
>> + Notifier _broken suspend_notifier;
>
> Why broken?
>
>> } RTCState;
>>
>> #endif /* !MC146818RTC_STATE_H */
>
>
Jan
--
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux
[Qemu-devel] [PATCH 06/17] qapi: qapi-visit.py, add gen support for existing types, Michael Roth, 2012/06/04
[Qemu-devel] [PATCH 05/17] qapi: qapi-visit.py, support arrays and complex qapi definitions, Michael Roth, 2012/06/04
[Qemu-devel] [PATCH 07/17] qapi: add open-coded visitors for QEMUTimer/struct tm types, Michael Roth, 2012/06/04
[Qemu-devel] [PATCH 08/17] rtc: move RTCState declaration to header, Michael Roth, 2012/06/04
[Qemu-devel] [PATCH 09/17] rtc: add qc annotations, Michael Roth, 2012/06/04
[Qemu-devel] [PATCH 10/17] Makefile: add infrastructure to incorporate qidl-generated files, Michael Roth, 2012/06/04
[Qemu-devel] [PATCH 15/17] Makefile: add qidl-generation of vmstate field descriptions, Michael Roth, 2012/06/04
[Qemu-devel] [PATCH 14/17] qidl: add qidl-based generation of vmstate field bindings, Michael Roth, 2012/06/04
[Qemu-devel] [PATCH 11/17] qapi: add qidl-generated qapi schema for rtc, Michael Roth, 2012/06/04