UML currently runs only on Linux/i386. There is no fundamental reason that it can't be ported to other Linux platforms. The main obstacle is likely to be a ptrace limitation that existed in the i386 port before I fixed it and which exists in several other ports. ptrace can be used to arbitrarily change system call arguments, but on some ports, it can't change the actual system call number. This is needed to nullify system calls in the host because that it done by turning them into getpid. This is still a problem on at least sparc and IA64. It is not a problem on ppc.
There is an ongoing ppc port effort as well as a somewhat moribund IA64 port. At the time of writing, the ppc port had booted up to the point of starting to exec init.