On 07/21/2011 07:13 PM, Pedro Alves wrote: > On Thursday 21 July 2011 08:31:19, Yao Qi wrote: >>>> + >>>> + >>>> + >>>> + >>>> + >>> >>> ... >>> >>> These are all general purpose, core registers, right? >>> >> >> Not really. A0-31 and B0-31 are general purpose registers, even there >> are some difference among different C6x cores (such as C62x, C67x, and >> C64x). The rest of them can be regarded as control registers and status >> registers. The target description should be refined for the different >> C6x cores, and I'd like to do it in follow-up patches later. Is it OK? > > I'd rather start with things clean than change the target's register > set after the fact, but I won't insist. At least you should document in > the manual which registers the new standard feature org.gnu.gdb.tic6x.cpu > requires (under Standard Target Features) though. > Agree. The target description part is rewritten in the new patch, and it should be clean now. The original xml description is split into three xml files, and these features are documented in gdb.texinfo. - tic6x-core.xml: core registers, exist on all C6x variants. - tic6x-gp.xml: general purpose reigster A16-A31, B16-B31. - tic6x-c6xp.xml: some control registers. These three xml files compose another three xml files, tic6x-{c64xp,c64x,c62x}-linux.xml. gdbserver part is slightly changed for calling init_registers_tic6x_{c63x,c64x,c64xp}_linux in tic6x_arch_setup, according to computed CPU ID. -- Yao (齐尧)