From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH] stdvga cache always on Date: Mon, 05 May 2008 16:40:06 +0100 Message-ID: <481F2A56.601@eu.citrix.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------040408050908020204040106" Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format. --------------040408050908020204040106 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi all, currently the hypervisor vga cache (stdvga.c) enables itself only in graphical mode and in the a0000h-affffh range. However there is no reason for this: it already allocates enought memory to map the whole vram. I am attaching a patch that implements the bank switching mechanism in stdvga.c, allowing the cache to be always enabled when the emulated graphic card is in VGA mode. Best Regards, Stefano Stabellini Signed-off-by: Stefano Stabellini --------------040408050908020204040106 Content-Type: text/plain; name="stdvga-always-on" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="stdvga-always-on" ZGlmZiAtciA0ODNkMDA2Y2M2MDcgeGVuL2FyY2gveDg2L2h2bS9zdGR2Z2EuYwotLS0gYS94 ZW4vYXJjaC94ODYvaHZtL3N0ZHZnYS5jCUZyaSBBcHIgMjUgMTM6NDY6MjcgMjAwOCArMDEw MAorKysgYi94ZW4vYXJjaC94ODYvaHZtL3N0ZHZnYS5jCU1vbiBNYXkgMDUgMTY6MTA6Mzcg MjAwOCArMDEwMApAQCAtMTMyLDEzICsxMzIsMTIgQEAgc3RhdGljIGludCBzdGR2Z2Ffb3V0 Yih1aW50NjRfdCBhZGRyLCB1aQogICAgIC8qIFdoZW4gaW4gc3RhbmRhcmQgdmdhIG1vZGUs IGVtdWxhdGUgaGVyZSBhbGwgd3JpdGVzIHRvIHRoZSB2cmFtIGJ1ZmZlcgogICAgICAqIHNv IHdlIGNhbiBpbW1lZGlhdGVseSBzYXRpc2Z5IHJlYWRzIHdpdGhvdXQgd2FpdGluZyBmb3Ig cWVtdS4gKi8KICAgICBzLT5zdGR2Z2EgPQotICAgICAgICAocy0+c3JbN10gPT0gMHgwMCkg JiYgIC8qIHN0YW5kYXJkIHZnYSBtb2RlICovCi0gICAgICAgIChzLT5ncls2XSA9PSAweDA1 KTsgICAgLyogbWlzYyBncmFwaGljcyByZWdpc3RlciB3LyBNZW1vcnlNYXBTZWxlY3Q9MQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIDB4YTAwMDAtMHhhZmZmZiAoNjRr IHJlZ2lvbiksIEFscGhhRGlzPTEgKi8KKyAgICAgICAgKHMtPnNyWzddID09IDB4MDApOyAg ICAvKiBzdGFuZGFyZCB2Z2EgbW9kZSAqLwogCiAgICAgaWYgKCAhcHJldl9zdGR2Z2EgJiYg cy0+c3RkdmdhICkKICAgICB7Ci0gICAgICAgIHMtPmNhY2hlID0gMTsgICAgICAgLyogKHJl KXN0YXJ0IGNhY2hpbmcgdmlkZW8gYnVmZmVyICovCisgICAgICAgIHMtPmNhY2hlID0gMTsg ICAgICAgLyogKHJlKXN0YXJ0IGNhY2hpbmcgdmlkZW8gYnVmZmVyLgorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAqIFhYWCBJbiBjYXNlIG9mIGEgcmVzdGFydCB0aGUgY2FjaGUg Y291bGQgYmUgdW5zeW5jZWQgKi8KICAgICAgICAgZ2RwcmludGsoWEVOTE9HX0lORk8sICJl bnRlcmluZyBzdGR2Z2EgYW5kIGNhY2hpbmcgbW9kZXNcbiIpOwogICAgIH0KICAgICBlbHNl IGlmICggcHJldl9zdGR2Z2EgJiYgIXMtPnN0ZHZnYSApCkBAIC0xODcsMTMgKzE4NiwzMyBA QCBzdGF0aWMgdWludDhfdCBzdGR2Z2FfbWVtX3JlYWRiKHVpbnQ2NF90CiBzdGF0aWMgdWlu dDhfdCBzdGR2Z2FfbWVtX3JlYWRiKHVpbnQ2NF90IGFkZHIpCiB7CiAgICAgc3RydWN0IGh2 bV9od19zdGR2Z2EgKnMgPSAmY3VycmVudC0+ZG9tYWluLT5hcmNoLmh2bV9kb21haW4uc3Rk dmdhOwotICAgIGludCBwbGFuZTsKKyAgICBpbnQgbWVtb3J5X21hcF9tb2RlLCBwbGFuZTsK ICAgICB1aW50MzJfdCByZXQsICp2cmFtX2w7CiAgICAgdWludDhfdCAqdnJhbV9iOwogCisg ICAgLyogY29udmVydCB0byBWR0EgbWVtb3J5IG9mZnNldCAqLworICAgIG1lbW9yeV9tYXBf bW9kZSA9IChzLT5ncls2XSA+PiAyKSAmIDM7CiAgICAgYWRkciAmPSAweDFmZmZmOwotICAg IGlmICggYWRkciA+PSAweDEwMDAwICkKLSAgICAgICAgcmV0dXJuIDB4ZmY7CisgICAgc3dp dGNoKG1lbW9yeV9tYXBfbW9kZSkgeworICAgIGNhc2UgMDoKKyAgICAgICAgYnJlYWs7Cisg ICAgY2FzZSAxOgorICAgICAgICBpZiAoYWRkciA+PSAweDEwMDAwKQorICAgICAgICAgICAg cmV0dXJuIDB4ZmY7CisgICAgICAgIGFkZHIgKz0gMDsgLy8gYXNzdW1lIGJhbmtfb2Zmc2V0 ID09IDA7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgMjoKKyAgICAgICAgYWRkciAtPSAw eDEwMDAwOworICAgICAgICBpZiAoYWRkciA+PSAweDgwMDApCisgICAgICAgICAgICByZXR1 cm4gMHhmZjsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICBjYXNlIDM6Cisg ICAgICAgIGFkZHIgLT0gMHgxODAwMDsKKyAgICAgICAgaWYgKGFkZHIgPj0gMHg4MDAwKQor ICAgICAgICAgICAgcmV0dXJuIDB4ZmY7CisgICAgICAgIGJyZWFrOworICAgIH0KIAogICAg IGlmICggcy0+c3JbNF0gJiAweDA4ICkKICAgICB7CkBAIC0yNjksMTMgKzI4OCwzMyBAQCBz dGF0aWMgdm9pZCBzdGR2Z2FfbWVtX3dyaXRlYih1aW50NjRfdCBhCiBzdGF0aWMgdm9pZCBz dGR2Z2FfbWVtX3dyaXRlYih1aW50NjRfdCBhZGRyLCB1aW50MzJfdCB2YWwpCiB7CiAgICAg c3RydWN0IGh2bV9od19zdGR2Z2EgKnMgPSAmY3VycmVudC0+ZG9tYWluLT5hcmNoLmh2bV9k b21haW4uc3RkdmdhOwotICAgIGludCBwbGFuZSwgd3JpdGVfbW9kZSwgYiwgZnVuY19zZWxl Y3QsIG1hc2s7CisgICAgaW50IG1lbW9yeV9tYXBfbW9kZSwgcGxhbmUsIHdyaXRlX21vZGUs IGIsIGZ1bmNfc2VsZWN0LCBtYXNrOwogICAgIHVpbnQzMl90IHdyaXRlX21hc2ssIGJpdF9t YXNrLCBzZXRfbWFzaywgKnZyYW1fbDsKICAgICB1aW50OF90ICp2cmFtX2I7CiAKKyAgICAv KiBjb252ZXJ0IHRvIFZHQSBtZW1vcnkgb2Zmc2V0ICovCisgICAgbWVtb3J5X21hcF9tb2Rl ID0gKHMtPmdyWzZdID4+IDIpICYgMzsKICAgICBhZGRyICY9IDB4MWZmZmY7Ci0gICAgaWYg KCBhZGRyID49IDB4MTAwMDAgKQotICAgICAgICByZXR1cm47CisgICAgc3dpdGNoKG1lbW9y eV9tYXBfbW9kZSkgeworICAgIGNhc2UgMDoKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSAx OgorICAgICAgICBpZiAoYWRkciA+PSAweDEwMDAwKQorICAgICAgICAgICAgcmV0dXJuOwor ICAgICAgICBhZGRyICs9IDA7IC8vIGFzc3VtZSBiYW5rX29mZnNldCA9PSAwOworICAgICAg ICBicmVhazsKKyAgICBjYXNlIDI6CisgICAgICAgIGFkZHIgLT0gMHgxMDAwMDsKKyAgICAg ICAgaWYgKGFkZHIgPj0gMHg4MDAwKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBi cmVhazsKKyAgICBkZWZhdWx0OgorICAgIGNhc2UgMzoKKyAgICAgICAgYWRkciAtPSAweDE4 MDAwOworICAgICAgICBpZiAoYWRkciA+PSAweDgwMDApCisgICAgICAgICAgICByZXR1cm47 CisgICAgICAgIGJyZWFrOworICAgIH0KIAogICAgIGlmICggcy0+c3JbNF0gJiAweDA4ICkK ICAgICB7CkBAIC01MzEsNyArNTcwLDcgQEAgdm9pZCBzdGR2Z2FfaW5pdChzdHJ1Y3QgZG9t YWluICpkKQogICAgICAgICByZWdpc3Rlcl9wb3J0aW9faGFuZGxlcihkLCAweDNjZSwgMiwg c3RkdmdhX2ludGVyY2VwdF9waW8pOwogICAgICAgICAvKiBNTUlPLiAqLwogICAgICAgICBy ZWdpc3Rlcl9idWZmZXJlZF9pb19oYW5kbGVyKAotICAgICAgICAgICAgZCwgMHhhMDAwMCwg MHgxMDAwMCwgc3RkdmdhX2ludGVyY2VwdF9tbWlvKTsKKyAgICAgICAgICAgIGQsIDB4YTAw MDAsIDB4MjAwMDAsIHN0ZHZnYV9pbnRlcmNlcHRfbW1pbyk7CiAgICAgfQogfQogCg== --------------040408050908020204040106 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --------------040408050908020204040106--