smap
smap = (struct bios_smap *)md->md_data;
mmap_entry[i].mmap_addr = smap[i].base;
mmap_entry[i].mmap_len = smap[i].length;
mmap_entry[i].mmap_type = smap[i].type;
struct bios_smap *smap;
COMMAND_SET(smap, "smap", "show BIOS SMAP", command_smap);
v86.es = VTOPSEG(&smap);
v86.edi = VTOPOFF(&smap);
if ((smap.type == SMAP_TYPE_MEMORY) && (smap.base == 0) &&
(smap.length >= (512 * 1024)))
bios_basemem = smap.length;
if ((smap.type == SMAP_TYPE_MEMORY) &&
(smap.base == 0x100000)) {
bios_extmem = smap.length;
if ((smap.type == SMAP_TYPE_MEMORY) &&
(smap.base > 0x100000) && (smap.base < 0x100000000ull)) {
size = smap.length;
if (smap.base + size > 0x100000000ull)
size = 0x100000000ull - smap.base;
high_heap_base = smap.base;
static struct bios_smap smap;
v86.es = VTOPSEG(&smap);
v86.edi = VTOPOFF(&smap);
if ((smap.type == SMAP_TYPE_MEMORY) && (smap.base == 0) &&
(smap.length >= (512 * 1024))) {
bios_basemem = smap.length;
if ((smap.type == SMAP_TYPE_MEMORY) &&
(smap.base == 0x100000) &&
bios_extmem = smap.length;
if ((smap.type == SMAP_TYPE_MEMORY) &&
(smap.base > 0x100000) &&
(smap.base < 0x100000000ull)) {
size = smap.length;
if (smap.base + size > 0x100000000ull)
size = 0x100000000ull - smap.base;
if (high_heap_base < smap.base && size >= HEAP_MIN) {
high_heap_base = smap.base + size - HEAP_MIN;
static struct bios_smap_xattr smap;
COMMAND_SET(smap, "smap", "show BIOS SMAP", command_smap);
struct bios_smap smap;
v86.ecx < sizeof(buf.smap) || v86.ecx > SMAP_BUFSIZE)
next->smap = buf.smap;
smapbase[n++] = cur->smap;
struct bios_smap *smap;
smap = (struct bios_smap *)md->md_data;
off = smap_find(smap, smaplen, off, size);
smap_find(struct bios_smap *smap, int smaplen, vm_offset_t addr, size_t size)
if (smap[i].type != SMAP_TYPE_MEMORY)
if (smap[i].base < 0x100000)
if ((smap[i].base <= addr) &&
(smap[i].base + smap[i].length >= addr + size)) {
if ((smap[i].base > addr) && (smap[i].length >= size)) {
return (smap[i].base);
struct bios_smap *smap;
smap = (struct bios_smap *)md->md_data;
if (smap[i].type != SMAP_TYPE_MEMORY)
if (smap[i].base >= 0xa0000)
test_addr(smap[i].base, smap[i].length, &candidate);
struct bios_smap *smap;
smap = (struct bios_smap *)md->md_data;
mmap[i].size = sizeof(*smap);
mmap[i].addr = smap[i].base;
mmap[i].len = smap[i].length;
mmap[i].type = smap[i].type;
struct smap smp;
sizeof (struct smap) + (uintptr_t)sd.smd_sm);
uchar_t smap[MAX_SENSORS];
(void) memset(smap, SENSOR_OK, sizeof (smap));
smap[i] = SENSOR_WARN;
smap[i] = SENSOR_OK;
if (smap[i] == SENSOR_WARN)
uchar_t smap[MAX_SENSORS];
(void) memset(smap, SENSOR_OK, sizeof (smap));
smap[i] = SENSOR_WARN;
smap[i] = SENSOR_OK;
if (smap[i] == SENSOR_WARN)
MAP *smap = s->s_lmap;
if (tTd(38, 2) && smap != map)
map->map_mname, smap->map_mname);
smap->map_mflags &= ~(MF_OPEN|MF_WRITABLE);
lmap = (SM_LDAP_STRUCT *) smap->map_db1;
MAP *smap;
smap = s->s_socketmap;
while (smap != NULL)
if (tTd(38, 2) && smap != map)
map->map_mname, smap->map_mname);
smap->map_mflags &= ~(MF_OPEN|MF_WRITABLE);
smap->map_db1 = NULL;
next = smap->socket_map_next;
smap->socket_map_next = NULL;
smap = next;
map_lookup(smap, key, argvect, pstat, e)
STAB *smap;
if (smap == NULL)
map = &smap->s_map;
smap->s_name, key);
sm_dprintf("map_lookup(%s, ", smap->s_name);
smap->s_name, key, errno);
smap->s_name,
segmap_hashout(struct smap *smp)
struct smap **hpp, *hp;
grab_smp(struct smap *smp, page_t *pp)
static struct smap *
struct smap *smp, *first;
size_t len, enum seg_rw rw, struct smap *smp);
static void segmap_smapadd(struct smap *smp);
static struct smap *segmap_hashin(struct smap *smp, struct vnode *vp,
static void segmap_hashout(struct smap *smp);
struct smap *smp;
struct smap *smp;
struct smap *smp, *nsmp;
struct smap *smp;
static struct smap *smd_smap;
struct smap *smp, *smp_end;
struct smap *scpu_last_smap;
struct smap *smp, enum seg_rw rw)
struct smap *
struct smap *smp;
struct smap *smp, enum seg_rw rw)
struct smap *
struct smap *smp;
kmem_alloc(sizeof (struct smap) * npages, KM_SLEEP);
struct smap *smpfreelist;
struct smap *smp)
struct smap *smp;
struct smap *smp;
segmap_smapadd(struct smap *smp)
struct smap *smpfreelist;
struct smap *, enum seg_rw);
static struct smap *
segmap_hashin(struct smap *smp, struct vnode *vp, u_offset_t off, int hashid)
struct smap *get_smap_kpm(caddr_t, page_t **);
struct smap **hpp;
struct smap *tmp;
#define SM_FREEQ_PAD (64 - sizeof (struct smap *) - sizeof (kmutex_t))
struct smap *smq_free; /* points into freelist */
struct smap *sh_hash_list; /* start of hash chain */
struct smap *smd_sm; /* array of smap structures */
struct smap *sm_hash; /* hash pointer */
struct smap *sm_next; /* next pointer */
struct smap *sm_prev; /* previous pointer */
volatile int smap_size_changed [SMAP_SIZE - sizeof (struct smap) + 1];
volatile int smap_size_changed2 [sizeof (struct smap) - SMAP_SIZE + 1];
volatile int smap_size_changed [SMAP_SIZE - sizeof (struct smap) + 1];
volatile int smap_size_changed2 [sizeof (struct smap) - SMAP_SIZE + 1];