1*9ef1f84bSDavid du Colombier #include "u.h" 2*9ef1f84bSDavid du Colombier #include "../port/lib.h" 3*9ef1f84bSDavid du Colombier #include "mem.h" 4*9ef1f84bSDavid du Colombier #include "dat.h" 5*9ef1f84bSDavid du Colombier #include "fns.h" 6*9ef1f84bSDavid du Colombier 7*9ef1f84bSDavid du Colombier static Lock fmtl; 8*9ef1f84bSDavid du Colombier 9*9ef1f84bSDavid du Colombier void _fmtlock(void)10*9ef1f84bSDavid du Colombier_fmtlock(void) 11*9ef1f84bSDavid du Colombier { 12*9ef1f84bSDavid du Colombier lock(&fmtl); 13*9ef1f84bSDavid du Colombier } 14*9ef1f84bSDavid du Colombier 15*9ef1f84bSDavid du Colombier void _fmtunlock(void)16*9ef1f84bSDavid du Colombier_fmtunlock(void) 17*9ef1f84bSDavid du Colombier { 18*9ef1f84bSDavid du Colombier unlock(&fmtl); 19*9ef1f84bSDavid du Colombier } 20*9ef1f84bSDavid du Colombier 21*9ef1f84bSDavid du Colombier int _efgfmt(Fmt *)22*9ef1f84bSDavid du Colombier_efgfmt(Fmt*) 23*9ef1f84bSDavid du Colombier { 24*9ef1f84bSDavid du Colombier return -1; 25*9ef1f84bSDavid du Colombier } 26*9ef1f84bSDavid du Colombier 27*9ef1f84bSDavid du Colombier int mregfmt(Fmt * f)28*9ef1f84bSDavid du Colombiermregfmt(Fmt* f) 29*9ef1f84bSDavid du Colombier { 30*9ef1f84bSDavid du Colombier Mreg mreg; 31*9ef1f84bSDavid du Colombier 32*9ef1f84bSDavid du Colombier mreg = va_arg(f->args, Mreg); 33*9ef1f84bSDavid du Colombier if(sizeof(Mreg) == sizeof(uvlong)) 34*9ef1f84bSDavid du Colombier return fmtprint(f, "%#16.16llux", (uvlong)mreg); 35*9ef1f84bSDavid du Colombier return fmtprint(f, "%#8.8ux", (uint)mreg); 36*9ef1f84bSDavid du Colombier } 37*9ef1f84bSDavid du Colombier 38*9ef1f84bSDavid du Colombier void fmtinit(void)39*9ef1f84bSDavid du Colombierfmtinit(void) 40*9ef1f84bSDavid du Colombier { 41*9ef1f84bSDavid du Colombier quotefmtinstall(); 42*9ef1f84bSDavid du Colombier archfmtinstall(); 43*9ef1f84bSDavid du Colombier } 44