- if (!(s->features & SS_CAP_STATIC_MAP) &&
- find_mem_region(&win->base, win->size, align,
- (req->Attributes & WIN_MAP_BELOW_1MB),
- (*handle)->dev_info, s))
- return CS_IN_USE;
+ if (!(s->features & SS_CAP_STATIC_MAP)) {
+ win->ctl.res = find_mem_region(req->Base, req->Size, align,
+ (req->Attributes & WIN_MAP_BELOW_1MB),
+ (*handle)->dev_info, s);
+ if (!win->ctl.res)
+ return CS_IN_USE;
+ win->ctl.sys_start = win->ctl.res->start;
+ win->ctl.sys_stop = win->ctl.res->end;
+ } else {
+ win->ctl.sys_start = req->Base;
+ win->ctl.sys_stop = req->Base + req->Size - 1;
+ }