2016-11-25 17:18:40 +01:00
|
|
|
#include "u.h"
|
|
|
|
#include "../port/lib.h"
|
|
|
|
#include "mem.h"
|
|
|
|
#include "dat.h"
|
|
|
|
#include "fns.h"
|
|
|
|
|
|
|
|
static Lock fmtl;
|
|
|
|
|
|
|
|
void
|
|
|
|
_fmtlock(void)
|
|
|
|
{
|
|
|
|
lock(&fmtl);
|
|
|
|
}
|
|
|
|
|
|
|
|
void
|
|
|
|
_fmtunlock(void)
|
|
|
|
{
|
|
|
|
unlock(&fmtl);
|
|
|
|
}
|
|
|
|
|
|
|
|
int
|
|
|
|
_efgfmt(Fmt* _1)
|
|
|
|
{
|
|
|
|
return -1;
|
|
|
|
}
|
|
|
|
|
|
|
|
int
|
|
|
|
mregfmt(Fmt* f)
|
|
|
|
{
|
|
|
|
Mreg mreg;
|
|
|
|
|
|
|
|
mreg = va_arg(f->args, Mreg);
|
|
|
|
if(sizeof(Mreg) == sizeof(uint64_t))
|
2017-04-19 23:33:14 +02:00
|
|
|
return jehanne_fmtprint(f, "%#16.16llux", (uint64_t)mreg);
|
|
|
|
return jehanne_fmtprint(f, "%#8.8ux", (uint32_t)mreg);
|
2016-11-25 17:18:40 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
void
|
|
|
|
fmtinit(void)
|
|
|
|
{
|
2017-04-19 23:33:14 +02:00
|
|
|
jehanne_quotefmtinstall();
|
2016-11-25 17:18:40 +01:00
|
|
|
archfmtinstall();
|
|
|
|
}
|