diff options
author | ray <ray@FreeBSD.org> | 2013-10-25 11:44:39 +0000 |
---|---|---|
committer | ray <ray@FreeBSD.org> | 2013-10-25 11:44:39 +0000 |
commit | 2e872874b3b08445c21f533b60748de8346f0fbe (patch) | |
tree | 87ca032ed90aa27c9b5f3a006c98bc0db6293f07 /sys/dev | |
parent | ea73eff314bfd095c57b0f2bc57822b9ce402962 (diff) | |
download | FreeBSD-src-2e872874b3b08445c21f533b60748de8346f0fbe.zip FreeBSD-src-2e872874b3b08445c21f533b60748de8346f0fbe.tar.gz |
Test UARTs physical address instead of virtual.
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/uart/uart_cpu_fdt.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/dev/uart/uart_cpu_fdt.c b/sys/dev/uart/uart_cpu_fdt.c index 230c363..7a344a0 100644 --- a/sys/dev/uart/uart_cpu_fdt.c +++ b/sys/dev/uart/uart_cpu_fdt.c @@ -86,7 +86,13 @@ int uart_cpu_eqres(struct uart_bas *b1, struct uart_bas *b2) { - return ((b1->bsh == b2->bsh && b1->bst == b2->bst) ? 1 : 0); + if (b1->bst != b2->bst) + return (0); + if (pmap_kextract(b1->bsh) == 0) + return (0); + if (pmap_kextract(b2->bsh) == 0) + return (0); + return ((pmap_kextract(b1->bsh) == pmap_kextract(b2->bsh)) ? 1 : 0); } int |