From: Nicolas A. <Nic...@ep...> - 2001-12-12 07:15:50
|
Philip Brown wrote: > Hi folks, > > could someone take 1 minute and run through agpgart.h, > just taking a look at the structs for the ioctls, > and add comments for which "page" fields are ADDRESSES, vs which > page fields are INDEXES/page-counts. My head's beginning to spin. > I'll narrow it down for ya: > > typedef struct _agp_segment { > off_t pg_start; /* starting page to populate */ > size_t pg_count; /* number of pages */ > > typedef struct _agp_bind { > off_t pg_start; /* starting page to populate */ > > typedef struct _agp_allocate { > size_t pg_count; /* number of pages */ > [Is this really "number of pages", or is it actually > "amount of memory"? If really "number of pages", > then WHY ISNT IT AN INT?!!] From what is in the code, AFAI understand, this *is* really the number of pages. And 'size_t' is nothing but an 'unsigned int' (in Linux at least...). Here is the relevant excerpt from 'malloc.h' : # undef size_t # define size_t unsigned int It looks like every '*_start' field is an adress, while every '*_count' is a number of pages... a+ -- Nicolas Aspert Signal Processing Laboratory (LTS) Swiss Federal Institute of Technology (EPFL) |