pr                114 kern/vm/kmalloc.c #define PR_PAGEADDR(pr)  ((pr)->pageaddr_and_blocktype & PAGE_FRAME)
pr                115 kern/vm/kmalloc.c #define PR_BLOCKTYPE(pr) ((pr)->pageaddr_and_blocktype & ~PAGE_FRAME)
pr                212 kern/vm/kmalloc.c checksubpage(struct pageref *pr)
pr                221 kern/vm/kmalloc.c 	if (pr->freelist_offset == INVALID_OFFSET) {
pr                222 kern/vm/kmalloc.c 		KASSERT(pr->nfree==0);
pr                226 kern/vm/kmalloc.c 	prpage = PR_PAGEADDR(pr);
pr                227 kern/vm/kmalloc.c 	blktype = PR_BLOCKTYPE(pr);
pr                229 kern/vm/kmalloc.c 	KASSERT(pr->freelist_offset < PAGE_SIZE);
pr                230 kern/vm/kmalloc.c 	KASSERT(pr->freelist_offset % sizes[blktype] == 0);
pr                232 kern/vm/kmalloc.c 	fla = prpage + pr->freelist_offset;
pr                243 kern/vm/kmalloc.c 	KASSERT(nfree==pr->nfree);
pr                246 kern/vm/kmalloc.c #define checksubpage(pr) ((void)(pr))
pr                254 kern/vm/kmalloc.c 	struct pageref *pr;
pr                261 kern/vm/kmalloc.c 		for (pr = sizebases[i]; pr != NULL; pr = pr->next_samesize) {
pr                262 kern/vm/kmalloc.c 			checksubpage(pr);
pr                268 kern/vm/kmalloc.c 	for (pr = allbase; pr != NULL; pr = pr->next_all) {
pr                269 kern/vm/kmalloc.c 		checksubpage(pr);
pr                284 kern/vm/kmalloc.c dumpsubpage(struct pageref *pr)
pr                292 kern/vm/kmalloc.c 	checksubpage(pr);
pr                300 kern/vm/kmalloc.c 	prpage = PR_PAGEADDR(pr);
pr                301 kern/vm/kmalloc.c 	blktype = PR_BLOCKTYPE(pr);
pr                307 kern/vm/kmalloc.c 	if (pr->freelist_offset != INVALID_OFFSET) {
pr                308 kern/vm/kmalloc.c 		fla = prpage + pr->freelist_offset;
pr                321 kern/vm/kmalloc.c 		(unsigned) pr->nfree, n);
pr                336 kern/vm/kmalloc.c 	struct pageref *pr;
pr                343 kern/vm/kmalloc.c 	for (pr = allbase; pr != NULL; pr = pr->next_all) {
pr                344 kern/vm/kmalloc.c 		dumpsubpage(pr);
pr                354 kern/vm/kmalloc.c remove_lists(struct pageref *pr, int blktype)
pr                362 kern/vm/kmalloc.c 		if (*guy == pr) {
pr                363 kern/vm/kmalloc.c 			*guy = pr->next_samesize;
pr                370 kern/vm/kmalloc.c 		if (*guy == pr) {
pr                371 kern/vm/kmalloc.c 			*guy = pr->next_all;
pr                400 kern/vm/kmalloc.c 	struct pageref *pr;	// pageref for page we're allocating from
pr                416 kern/vm/kmalloc.c 	for (pr = sizebases[blktype]; pr != NULL; pr = pr->next_samesize) {
pr                419 kern/vm/kmalloc.c 		KASSERT(PR_BLOCKTYPE(pr) == blktype);
pr                420 kern/vm/kmalloc.c 		checksubpage(pr);
pr                422 kern/vm/kmalloc.c 		if (pr->nfree > 0) {
pr                426 kern/vm/kmalloc.c 			KASSERT(pr->freelist_offset < PAGE_SIZE);
pr                427 kern/vm/kmalloc.c 			prpage = PR_PAGEADDR(pr);
pr                428 kern/vm/kmalloc.c 			fla = prpage + pr->freelist_offset;
pr                433 kern/vm/kmalloc.c 			pr->nfree--;
pr                436 kern/vm/kmalloc.c 				KASSERT(pr->nfree > 0);
pr                439 kern/vm/kmalloc.c 				pr->freelist_offset = fla - prpage;
pr                442 kern/vm/kmalloc.c 				KASSERT(pr->nfree == 0);
pr                443 kern/vm/kmalloc.c 				pr->freelist_offset = INVALID_OFFSET;
pr                471 kern/vm/kmalloc.c 	pr = allocpageref();
pr                472 kern/vm/kmalloc.c 	if (pr==NULL) {
pr                480 kern/vm/kmalloc.c 	pr->pageaddr_and_blocktype = MKPAB(prpage, blktype);
pr                481 kern/vm/kmalloc.c 	pr->nfree = PAGE_SIZE / sizes[blktype];
pr                492 kern/vm/kmalloc.c 	for (i=1; i<pr->nfree; i++) {
pr                498 kern/vm/kmalloc.c 	pr->freelist_offset = fla - prpage;
pr                499 kern/vm/kmalloc.c 	KASSERT(pr->freelist_offset == (pr->nfree-1)*sizes[blktype]);
pr                501 kern/vm/kmalloc.c 	pr->next_samesize = sizebases[blktype];
pr                502 kern/vm/kmalloc.c 	sizebases[blktype] = pr;
pr                504 kern/vm/kmalloc.c 	pr->next_all = allbase;
pr                505 kern/vm/kmalloc.c 	allbase = pr;
pr                517 kern/vm/kmalloc.c 	struct pageref *pr;	// pageref for page we're freeing in
pr                529 kern/vm/kmalloc.c 	for (pr = allbase; pr; pr = pr->next_all) {
pr                530 kern/vm/kmalloc.c 		prpage = PR_PAGEADDR(pr);
pr                531 kern/vm/kmalloc.c 		blktype = PR_BLOCKTYPE(pr);
pr                535 kern/vm/kmalloc.c 		checksubpage(pr);
pr                542 kern/vm/kmalloc.c 	if (pr==NULL) {
pr                568 kern/vm/kmalloc.c 	if (pr->freelist_offset == INVALID_OFFSET) {
pr                571 kern/vm/kmalloc.c 		fl->next = (struct freelist *)(prpage + pr->freelist_offset);
pr                573 kern/vm/kmalloc.c 	pr->freelist_offset = offset;
pr                574 kern/vm/kmalloc.c 	pr->nfree++;
pr                576 kern/vm/kmalloc.c 	KASSERT(pr->nfree <= PAGE_SIZE / sizes[blktype]);
pr                577 kern/vm/kmalloc.c 	if (pr->nfree == PAGE_SIZE / sizes[blktype]) {
pr                579 kern/vm/kmalloc.c 		remove_lists(pr, blktype);
pr                580 kern/vm/kmalloc.c 		freepageref(pr);