On Thu, Jul 25, 2013 at 08:06:27PM -0400, Kevin O'Connor wrote: > On Thu, Jul 25, 2013 at 03:55:56PM +0300, Michael S. Tsirkin wrote: > > On Mon, Jul 15, 2013 at 11:01:02AM +0300, Michael S. Tsirkin wrote: > > > On Sun, Jul 14, 2013 at 02:24:52PM -0400, Kevin O'Connor wrote: > > > > I'd prefer to see this tracked within the "linker" code and not in the > > > > generic romfile struct. > > > > > > A way to associate a romfile instance with a value seems generally > > > useful, no? Still, that's not too hard - it would only mean an extra > > > linked list of > > > > > > struct linker { > > > char name[56] > > > void *data; > > > struct hlist_node node; > > > } > > > > > > is this preferable? > > Sure, but it's probably easier to do something like: > > struct linkfiles { char *name; void *data; }; > > void linker_loader_execute(const char *name) > { > int size; > struct linker_loader_entry_s *entries = romfile_loadfile(name, &size); > int numentries = size/sizeof(entries[0]); > if (! entries) > return; > struct linkfiles *files = malloc_tmp(sizeof(files[0]) * numentries); > > and then just populate and use the array of filenames.
OK I'll do this but it's more code as I can't use plain romfile_find anymore, and have to code up my own lookup. > > > > Also, is there another name besides "linker" that could be used? > > > > SeaBIOS has code to self-relocate and fixup code relocations. I think > > > > having code in the repo called "linker" could cause confusion. > > > > > > > > > > romfile_loader? > > Shrug. How about "tabledeploy"? > > -Kevin