PHYSALLOC(9)                                         PHYSALLOC(9)

     NAME
          physalloc, physfree, phystag, physinit, physallocdump -
          kernel buddy allocator for physical addresses

     SYNOPSIS
          void    physinit(uintmem pa, u64int size)

          uintmem physalloc(u64int size, int *colorp, void *tag)

          void*   phystag(uintmem pa)

          void    physfree(uintmem pa, u64int size)

          char*   seprintphysstats(char *s,  char *e)

     DESCRIPTION
          The kernel contains a buddy allocator to hand out large
          chunks of memory outside the kernel heap.  The buddy
          allocator does not assign virtual addresses. The map is
          populated by one or more calls to physinit. Physalloc allo-
          cates a region of the given color with the given tag.  If
          the color is -1, then any memory color may be used, other-
          wise only memory of the given color will be allocated.  The
          tag is user-defined.  Calls to phystag map addresses in the
          allocation back to tag.  Allocated regions are freed with
          physfree. Stats may be put in a buffer with seprintstats,
          which takes a pointer to a buffer and its end as seprint.

     SOURCE
          /sys/src/nix/k10/physalloc.c

     SEE ALSO
          adr(9nix), qmalloc(9nix),

     Page 1                       Plan 9             (printed 3/29/24)