On 09/25/2013 05:51 PM, Peter Maydell wrote:
> On 26 September 2013 00:38, Fabien Chouteau <chout...@adacore.com> wrote:
>> On 09/25/2013 01:53 AM, Peter Maydell wrote:
>>>
>>> No, I really don't want to see another target #ifdef ladder, please.
>>> Put a 'static const MonitorDef *monitor_defs;' into CPUClass,
>>> and initialize it in each target's class init function, please.
>>> (You'll need to move the appropriate sections of the current
>>> static array in monitor.c plus the per-target functions that
>>> it references into target-*/cpu.c.) Look at gdb_num_core_regs
>>> as an example of where we made this kind of abstraction.
>>>
>>
>> I tried already. Where whould you put the declaration of MonitorDef type?
> 
> It doesn't matter very much, but monitor.h seems the obvious
> place. You probably don't want qom/cpu.h to have to drag in
> monitor.h so a 'struct MonitorDef;' forward declaration in cpu.h
> will let you avoid that (we do that already for a few other structs).
> 

I think that's what I did. I think the problem was to include
'monitor.h' in 'target-*/cpu.c'.

-- 
Fabien Chouteau

Reply via email to