void foo (int n) { double DECLARE(d); float DECLARE(f); volatile double *pd; volatile float *pf; int i; pd = gd; COPYIN (d, pd); for (i = 0; i < n; i++) { pf = gf; COPYIN (f, pf); pd = gd; ADD (d, pd); pd = gd; ADD (d, pd); pd = gd; ADD (d, pd); pf = gf; COPYOUT (f, pf); } pd = gd; COPYOUT (d, pd); }
/* * Copy DTB blob to specified location and return size */ int fdt_copy(vm_offset_t va) { int err; debugf("fdt_copy va 0x%08x\n", va); if (fdtp == NULL) { err = fdt_setup_fdtp(); if (err) { printf("No valid device tree blob found!\n"); return (0); } } if (fdt_fixup() == 0) return (0); if (fdtp_va != 0) { /* Overwrite the FDT with the fixed version. */ /* XXX Is this really appropriate? */ COPYIN(fdtp, fdtp_va, fdtp_size); } COPYIN(fdtp, va, fdtp_size); return (fdtp_size); }