Re: PATCH: new "void" memory region attribute

Andrew Cagney
2002-02-14T04:10:03Z

> Andrew Cagney wrote:
>
>>
>
>> > enum mem_access_mode
>> > {
>> > - MEM_RW, /* read/write */
>> > - MEM_RO, /* read only */
>> > - MEM_WO /* write only */
>> > + MEM_VOID = 0,
>> > + MEM_READ = 1,
>> > + MEM_WRITE = 2,
>> > + MEM_RW = MEM_READ | MEM_WRITE,
>> > };
>> >
>
>>
>> Greg, I'm just wondering why this part change? Wouldn't just adding a
>> MEM_VOID entry have been easier?
>
>
> No, it's because (attr != MEM_RO) is no longer a sufficient test
> to see if a section is writeable. There are now two modes that are
> not writeable -- MEM_RO and MEM_VOID. He could have made the tests
> more complex, he simply chose to do it this way instead.

Ah, ok. I see why I'm confused. The command set is an enumeration:

void ro ro rw

but the internal representation is now:

r, w

Greg, might as well go the whole hog, make it a set: rwx (don't wan't a
programmer trying to jump into a device :-)

Otherwize ok.

Andrew