ARM: kernel: Make 32/64-bit atomics work for ARMv5/6

Support for 64-bit atomic operations for ARMv7+ is currently stubbed
out in libroot, but our current targets do not use it anyway.

We now select atomics-as-syscalls automatically based on the ARM
architecture we're building for. The intent is to do away with
most of the board specifics (at the very least on the kernel side)
and just specify the lowest ARMvX version you want to build for.

This will give flexibility in being able to distribute a single
image for a wide range of devices, and building a tuned system
for one specific core type.
ARM: verdex: Make sure __XSCALE__ is defined when compiling.

This is especially important for the assembler code in the kernel,
since it enables workarounds for some critical errata related to
exception handling.
virtio: add queue_is_full(), queue_is_empty(), queue_size() hooks.
hda: reorganized the code for sense checking.

* should help with #9965
norflash: fix handling of boundaries

This was slightly off since my introduction of hidden sectors^^^^^
blocks in the norflash driver.
ARM: user_memcpy/memset/strlcpy: fix my horrible ARM assembly

Turns out I was way to green (and tired) last year to code this properly...
now they finally work and the kernel is a lot more stable for it.
ARM: FDT: add DTS[I] files for the first couple of targets.

Both for the rPI and the Verdex target we now have FDTs. The verdex
DTS is homebrew, the pxa DTSIs come from Linux and should be kept
in sync.

The rPI DTS and Broadcom DTSI come from FreeBSD HEAD, and should
ofcourse also be kept in sync.

One global new Jam rule has been introduced for handling DTS
compilation, aptly named CompileDTS....

More coming!
ARM: FDT: verdex: fix the PXA2xx DTSI file.

It references a non-existing device in the aliases, just comment
it out until we sort out with upstream what's up.

(Since we've also added PXA devices to the Verdex definition we
need to chat with them anyway)
ARM: improve error output, fix iframe reporting.
ScreenSaver: tabs hug window boundary

Taking a page from HaikuDepot's book, remove the border from the tab
view and set the inset to 0 in order to position the tabview right on
the window's edge. Looks a bit better than the previous method since
the tabview border appeared to extend the thickness of the window
border.
radeon_hd: Add PCIID for another REDWOOD card.

* Resovles #9993
usb_disk: base the error sense handling on a reference table.

* imported asc-num.txt as a reference, was used to generate the asc sense table.
* use the sense asc and key tables to know which action and status codes are
to be applied.
* tested with an hard disk and a dvd reader.
* these tables could be reused by the scsi_periph module.