> Date: Thu, 4 Jul 2013 18:41:30 +0200 (CEST)
> From: Stefan Fritsch <[email protected]>
>
> On Wed, 3 Jul 2013, Mark Kettenis wrote:
> > > diff --git sys/arch/i386/i386/db_interface.c
> > > sys/arch/i386/i386/db_interface.c
> > > index 85c1ff5..c75fd89 100644
> > > --- sys/arch/i386/i386/db_interface.c
> > > +++ sys/arch/i386/i386/db_interface.c
> > > @@ -197,11 +197,11 @@ db_sysregs_cmd(db_expr_t addr, int have_addr,
> > > db_expr_t count, char *modif)
> > > uint16_t ldtr, tr;
> > >
> > > __asm__ __volatile__("sidt %0" : "=m" (idtr));
> > > - db_printf("idtr: 0x%08x/%04x\n",
> > > + db_printf("idtr: 0x%08x/%04llx\n",
> > > (unsigned int)(idtr >> 16), idtr & 0xffff);
> > >
> > > __asm__ __volatile__("sgdt %0" : "=m" (gdtr));
> > > - db_printf("gdtr: 0x%08x/%04x\n",
> > > + db_printf("gdtr: 0x%08x/%04llx\n",
> > > (unsigned int)(gdtr >> 16), gdtr & 0xffff);
> >
> > This is a tad bit inconsistent. I'd either use %llx for both values
> > and get rid of the cast, or use %x and use a cast in both cases.
>
> Like this?
ok kettenis@
> --- sys/arch/i386/i386/db_interface.c
> +++ sys/arch/i386/i386/db_interface.c
> @@ -197,12 +197,10 @@ db_sysregs_cmd(db_expr_t addr, int have_addr, db_expr_t
> count, char *modif)
> uint16_t ldtr, tr;
>
> __asm__ __volatile__("sidt %0" : "=m" (idtr));
> - db_printf("idtr: 0x%08x/%04x\n",
> - (unsigned int)(idtr >> 16), idtr & 0xffff);
> + db_printf("idtr: 0x%08llx/%04llx\n", idtr >> 16, idtr & 0xffff);
>
> __asm__ __volatile__("sgdt %0" : "=m" (gdtr));
> - db_printf("gdtr: 0x%08x/%04x\n",
> - (unsigned int)(gdtr >> 16), gdtr & 0xffff);
> + db_printf("gdtr: 0x%08llx/%04llx\n", gdtr >> 16, gdtr & 0xffff);
>
> __asm__ __volatile__("sldt %0" : "=g" (ldtr));
> db_printf("ldtr: 0x%04x\n", ldtr);
>