make iommu_gas_lowermatch non-recursiveWrite a function to replace uppermatch and lowermatch that is not recursive, and iterates over all candidate gaps, in order, where a candidate gap is one that does not overlap [lowaddr, highaddr]. Remove the maxaddr checks from match_once.