summaryrefslogtreecommitdiffstats
path: root/lib/libc/stdlib/merge.c
diff options
context:
space:
mode:
authornjl <njl@FreeBSD.org>2004-08-20 16:52:44 +0000
committernjl <njl@FreeBSD.org>2004-08-20 16:52:44 +0000
commit45ab45f5d121b3ce80de4d470e56268c5130388e (patch)
tree9f3799b5122e94f9b33561c10d1551f5f5863719 /lib/libc/stdlib/merge.c
parent15ee0f253b7dc88cd2f9879c4a473105d778a670 (diff)
downloadFreeBSD-src-45ab45f5d121b3ce80de4d470e56268c5130388e.zip
FreeBSD-src-45ab45f5d121b3ce80de4d470e56268c5130388e.tar.gz
Correctly handle BIOS resources that are duplicated (!). There are many
systems that have overlapping regions specified in their sysresource objects. This patch fixes ATA DMA and acpi_timer allocation for such sysctems. It should eventually be moved to resource_list_add() if it is a valid generalized approach. The minimal approach for 5.3 is: "Loop through all current resources to see if the new one overlaps any existing ones. If so, the old one always takes precedence and the new one is adjusted (or rejected). We check for three cases: 1. Tail of new resource overlaps head of old resource: truncate the new resource so it is contiguous with the start of the old. 2. New resource wholly contained within the old resource: error. 3. Head of new resource overlaps tail of old resource: truncate the new resource so it is contiguous, following the old." Tested by: Radek Kozlowski <radek_at_raadradd.com> Discussed with: imp MFC after: 4 days
Diffstat (limited to 'lib/libc/stdlib/merge.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud