Subject: Re: Multiple values for locators
To: None <jtk@kolvir.arlington-heights.ma.us, mycroft@gnu.ai.mit.edu>
From: Chris Torek <torek@BSDI.COM>
List: tech-kern
Date: 03/26/1997 13:16:09
I will throw out a couple of notes (not really `suggestions' :-) ) here...

When I was first trying to pin down a syntax, I wanted to be
able to say things like:

	dev3 at bus1 addr 35 or 53	# meaning 35 or 53 on bus1

or:

	dev3 at bus1 addr 35 or bus2 addr 53	# 35 on bus1, 53 on bus2

(and so forth), but I could never figure out how to properly assign
all the constraints (well, theoretically, it is easy -- add
parentheses and make up associative and distributive rules -- but
I mean so that people could write config files without getting
themselves confused :-) ).  In the end I gave up and just allowed:

	# all of these get ORed together
	dev3 at bus1 addr 35
	dev3 at bus1 addr 53
	dev3 at bus2 addr 53

(This may not have been implemented yet in the stuff that went out
with 4.4-Lite.)

There is also the problem of `wide addresses', where you might have:

	dev0 at mem 36-bit-addr

on a 32-bit address machine, but I kinda gave up on that too and
figured you could either make loc_t's be quad_t's, or (more likely)
use two separate locators and write:

	dev0 at highmem 4-bits lowmem 32-bits

Chris