arch/um is different from all the others. It has an underlying architecture
and needs to inherit stuff from it. If you look in include/asm-um, you will
see a collection of slightly warmed-over asm-i386 headers. This obviously
won't fly on other architectures.
I was going to wait until it had been ported once or twice, finding out what
can and can't be inherited from the underlying architecture, and propose some
changes in the other asm-* headers.
The idea is that the stuff in the other asm headers which need to be inherited
would be split out into another file. So foo.h would have the stuff that
asm-um needs split out into foo_user.h (and obviously include foo_user.h to
make things look the same from outside). A SUB_ARCH variable would be added
to the Makefile to indicate what the underlying architecture is. This would
be used to make a link asm-um/arch --> ../../asm-$SUBARCH. Then asm-um
headers would include asm/arch/foo_user.h. If something like an assembly
idiom is usable in user space on some architectures and not on others, then
its presence would be tested for, and a portable version provided if necessary.
Since this needs changes in other architectures, I was going to hold off for a
while before pestering Linus to include it in the official sources.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to firstname.lastname@example.org
Please read the FAQ at http://www.tux.org/lkml/