From owner-freebsd-hackers Sat Jul 4 05:52:41 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id FAA27838 for freebsd-hackers-outgoing; Sat, 4 Jul 1998 05:52:41 -0700 (PDT) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from mrelay.jrc.it (mrelay.jrc.it [139.191.1.65]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id FAA27831; Sat, 4 Jul 1998 05:52:36 -0700 (PDT) (envelope-from nick.hibma@jrc.it) Received: from heidi (mobile18.jrc.it [139.191.250.18]) by mrelay.jrc.it (LMC5688) with SMTP id OAA11025; Sat, 4 Jul 1998 14:52:28 +0200 (MET DST) Date: Sat, 4 Jul 1998 14:54:25 +0200 (CEST) From: Nick Hibma X-Sender: n_hibma@heidi Reply-To: Nick Hibma To: FreeBSD hackers mailing list cc: sos@FreeBSD.ORG, Nick Hibma Subject: character type mouse Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-725232148-899556865=:352" Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --0-725232148-899556865=:352 Content-Type: TEXT/PLAIN; charset=US-ASCII Here are the diffs for the CHARACTER_MOUSE. They are done on 2.2.1. I'll send you better ones as soon as I get my hands on the 3.0 and 2.2.5 machines at work, Soren. The effect of 10-20% interrupt time, was indeed related to that one occurrence of waiting for the retrace. The CPU utilisation stays at zero now. There is still one of the busy waiting loops in there with the destructive cursor. Dunno if that is anything important/often called though. The code as it is could be improved upon probably by more thoroughly checking whether the mouse pointer has moved at all, but I didn't bother as it most probably only clutters the code with ifdef's with not noticably improving efficiency. The Netherlands will win, 2-1, mark my words. Cheers, A Dutchman in Italy. P.S.: The coloring scheme: const int col_conv[16] = {6,6,6,6,2,2,2,6,14,14,14,14,10,10,10,14}; if ( crtc_addr == COLOR_BASE ) color = (col_conv[(cur_val&0xf000)>>12]<<12) | (cur_val&0x0f00|0x0800); /* Set bold attr */ else /* black & white: reverse colors (XXX untested) */ color = ((cur_val&0xf000)>>4) | ((cur_val&0x0f00)<<4); --0-725232148-899556865=:352 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="syscons.diff" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Diffs -C3 to the files modified KioqIHN5c2NvbnMuYy5vcmlnCVNhdCBKdWwgIDQgMTA6NTI6MDMgMTk5OA0K LS0tIHN5c2NvbnMuYwlTYXQgSnVsICA0IDE0OjE4OjE0IDE5OTgNCioqKioq KioqKioqKioqKg0KKioqIDM0NzksMzQ4NCAqKioqDQotLS0gMzQ3OSwzNDg1 IC0tLS0NCiAgCWFkZHJlc3MgPSAoY2FkZHJfdClWSURFT01FTSArIDB4NDAw MDsNCiAgICAgIH0NCiAgDQorICNpZm5kZWYgQ0hBUkFDVEVSX01PVVNFDQog ICAgICBpZiAoc2NwLT5zdGF0dXMgJiBNT1VTRV9WSVNJQkxFKSB7DQogIAlp ZiAoKHNjcC0+Y3Vyc29yX3NhdmV1bmRlciAmIDB4ZmYpID09IDB4ZDApDQog ICAgICAJICAgIGJjb3B5dygmc2NwLT5tb3VzZV9jdXJzb3JbMF0sIGN1cnNv ciwgc2NwLT5mb250X3NpemUpOw0KKioqKioqKioqKioqKioqDQoqKiogMzQ5 MywzNDk4ICoqKioNCi0tLSAzNDk0LDM1MDAgLS0tLQ0KICAgCSAgICAgICAJ ICAgY3Vyc29yLCBzY3AtPmZvbnRfc2l6ZSk7DQogICAgICB9DQogICAgICBl bHNlDQorICNlbmRpZg0KICAgICAgCWJjb3B5dyhmb250X2J1ZmZlciArICgo c2NwLT5jdXJzb3Jfc2F2ZXVuZGVyICYgMHhmZikgKiBzY3AtPmZvbnRfc2l6 ZSksDQogICAJICAgICAgIGN1cnNvciwgc2NwLT5mb250X3NpemUpOw0KICAg ICAgZm9yIChpPTA7IGk8MzI7IGkrKykNCioqKioqKioqKioqKioqKg0KKioq IDM2MDYsMzYxNyAqKioqDQogIHN0YXRpYyB2b2lkDQogIGRyYXdfbW91c2Vf aW1hZ2Uoc2NyX3N0YXQgKnNjcCkNCiAgew0KICAgICAgY2FkZHJfdCBhZGRy ZXNzOw0KICAgICAgaW50IGk7DQogICAgICBjaGFyICpmb250X2J1ZmZlcjsN CiAgICAgIHVfc2hvcnQgYnVmZmVyWzMyXTsNCiAgICAgIHVfc2hvcnQgeG9m ZnNldCwgeW9mZnNldDsNCi0gICAgIHVfc2hvcnQgKmNydF9wb3MgPSBDcnRh dCArIChzY3AtPm1vdXNlX3BvcyAtIHNjcC0+c2NyX2J1Zik7DQogICAgICBp bnQgZm9udF9zaXplID0gc2NwLT5mb250X3NpemU7DQogIA0KICAgICAgaWYg KGZvbnRfc2l6ZSA8IEZPTlRfMTQpIHsNCi0tLSAzNjA4LDM2MjAgLS0tLQ0K ICBzdGF0aWMgdm9pZA0KICBkcmF3X21vdXNlX2ltYWdlKHNjcl9zdGF0ICpz Y3ApDQogIHsNCisgICAgIHVfc2hvcnQgKmNydF9wb3MgPSBDcnRhdCArIChz Y3AtPm1vdXNlX3BvcyAtIHNjcC0+c2NyX2J1Zik7DQorICNpZm5kZWYgQ0hB UkFDVEVSX01PVVNFDQogICAgICBjYWRkcl90IGFkZHJlc3M7DQogICAgICBp bnQgaTsNCiAgICAgIGNoYXIgKmZvbnRfYnVmZmVyOw0KICAgICAgdV9zaG9y dCBidWZmZXJbMzJdOw0KICAgICAgdV9zaG9ydCB4b2Zmc2V0LCB5b2Zmc2V0 Ow0KICAgICAgaW50IGZvbnRfc2l6ZSA9IHNjcC0+Zm9udF9zaXplOw0KICAN CiAgICAgIGlmIChmb250X3NpemUgPCBGT05UXzE0KSB7DQoqKioqKioqKioq KioqKioNCioqKiAzNjc0LDM2NzkgKioqKg0KLS0tIDM2NzcsMzcwNyAtLS0t DQogICAgICB9DQogICAgICBtYXJrX2Zvcl91cGRhdGUoc2NwLCBzY3AtPm1v dXNlX3BvcyAtIHNjcC0+c2NyX2J1Zik7DQogICAgICBtYXJrX2Zvcl91cGRh dGUoc2NwLCBzY3AtPm1vdXNlX3BvcyArIHNjcC0+eHNpemUgKyAxIC0gc2Nw LT5zY3JfYnVmKTsNCisgI2Vsc2UNCisgICAgIC8qIE5XSCAtIG5pY2suaGli bWFAanJjLml0DQorICAgICAgKiBhZGRlZCBjb2RlIHRvIHN1cHBvcnQgY2hh cmFjdGVyIGZvcm1hdCBtb3VzZS4NCisgICAgICAqLw0KKyAgICAgaW50IGN1 cl92YWwgPSAqKHNjcC0+bW91c2VfcG9zKTsNCisgICAgIGludCBjb2xvcjsN CisgDQorICAgICAvKiBSZWQsIG1hZ2VudGEgYW5kIGJyb3duIGFyZSBtYXBw ZWQgdG8gZ3JlZW4gdG8gdG8ga2VlcCBpdCByZWFkYWJsZQ0KKyAgICAgICov DQorICAgICBjb25zdCBpbnQgY29sX2NvbnZbMTZdID0NCisgCSAgICB7Niw2 LDYsNiwyLDIsMiw2LDE0LDE0LDE0LDE0LDEwLDEwLDEwLDE0fTsNCisgDQor ICAgICBpZiAoIGNydGNfYWRkciA9PSBDT0xPUl9CQVNFICkNCisgCWNvbG9y ID0gICAoY29sX2NvbnZbKGN1cl92YWwmMHhmMDAwKT4+MTJdPDwxMikNCisg CQl8IChjdXJfdmFsJjB4MGYwMHwweDA4MDApOwkvKiBTZXQgZm9yZ3JvdW5k IHRvIGJvbGQgKi8NCisgICAgIGVsc2UNCisgIAkvKiBibGFjayAmIHdoaXRl OiByZXZlcnNlIGNvbG9ycyAoWFhYIHVudGVzdGVkKSAqLw0KKyAJY29sb3Ig PSAoKGN1cl92YWwmMHhmMDAwKT4+NCkgfCAoKGN1cl92YWwmMHgwZjAwKTw8 NCk7DQorIA0KKyAgICAgc2NwLT5tb3VzZV9vbGRwb3MgPSBzY3AtPm1vdXNl X3BvczsNCisgDQorICAgICAqKGNydF9wb3MpID0gKGN1cl92YWwmMHgwMGZm KXwoY29sb3ImMHhmZjAwKTsNCisgDQorICAgICBtYXJrX2Zvcl91cGRhdGUo c2NwLCBzY3AtPm1vdXNlX3BvcyAtIHNjcC0+c2NyX2J1Zik7DQorICNlbmRp Zg0KICB9DQogIA0KICBzdGF0aWMgdm9pZA0KKioqKioqKioqKioqKioqDQoq KiogMzY4MSwzNjkyICoqKioNCi0tLSAzNzA5LDM3MjYgLS0tLQ0KICB7DQog ICAgICB1X3Nob3J0ICpjcnRfcG9zID0gQ3J0YXQgKyAoc2NwLT5tb3VzZV9v bGRwb3MgLSBzY3AtPnNjcl9idWYpOw0KICANCisgI2lmZGVmIENIQVJBQ1RF Ul9NT1VTRQ0KKyAgICAgLyogTldIIC0gbmljay5oaWJtYUBqcmMuaXQgLSBh ZGRlZCBzdXBwb3J0IGZvciBhIGNoYXJhY3RlciBtb3VzZSAqLw0KKyAgICAg KihjcnRfcG9zKSA9ICooc2NwLT5tb3VzZV9vbGRwb3MpOw0KKyAgICAgbWFy a19mb3JfdXBkYXRlKHNjcCwgc2NwLT5tb3VzZV9vbGRwb3MgLSBzY3AtPnNj cl9idWYpOw0KKyAjZWxzZQ0KICAgICAgKihjcnRfcG9zKSA9ICooc2NwLT5t b3VzZV9vbGRwb3MpOw0KICAgICAgKihjcnRfcG9zKzEpID0gKihzY3AtPm1v dXNlX29sZHBvcysxKTsNCiAgICAgICooY3J0X3BvcytzY3AtPnhzaXplKSA9 ICooc2NwLT5tb3VzZV9vbGRwb3Mrc2NwLT54c2l6ZSk7DQogICAgICAqKGNy dF9wb3Mrc2NwLT54c2l6ZSsxKSA9ICooc2NwLT5tb3VzZV9vbGRwb3Mrc2Nw LT54c2l6ZSsxKTsNCiAgICAgIG1hcmtfZm9yX3VwZGF0ZShzY3AsIHNjcC0+ bW91c2Vfb2xkcG9zIC0gc2NwLT5zY3JfYnVmKTsNCiAgICAgIG1hcmtfZm9y X3VwZGF0ZShzY3AsIHNjcC0+bW91c2Vfb2xkcG9zICsgc2NwLT54c2l6ZSAr IDEgLSBzY3AtPnNjcl9idWYpOw0KKyAjZW5kaWYNCiAgfQ0KICANCiAgc3Rh dGljIHZvaWQNCioqKiBIRUlESS5vcmlnCVNhdCBKdWwgIDQgMTE6MTU6MDAg MTk5OA0KLS0tIEhFSURJCVNhdCBKdWwgIDQgMTE6MTY6MDIgMTk5OA0KKioq KioqKioqKioqKioqDQoqKiogMzksNDQgKioqKg0KLS0tIDM5LDQ2IC0tLS0N CiAgb3B0aW9ucwkJU1lTVlNFTQ0KICBvcHRpb25zCQlTWVNWTVNHDQogIA0K KyBvcHRpb25zICAgICBDSEFSQUNURVJfTU9VU0UgICAjIHVzZSBjaGFyYWN0 ZXIgbW91c2UgaW5zdGVhZCBvZiBwaXhlbCBtb3VzZQ0KKyANCiAgb3B0aW9u cwkJRERCCQkjIEFkZCBzdXBwb3J0IGZvciBrZXJuZWwgZGVidWdnZXINCiAg b3B0aW9ucwkJS1RSQUNFDQogIA0KKioqIExJTlQub3JpZwlTYXQgSnVsICA0 IDExOjE0OjU1IDE5OTgNCi0tLSBMSU5UCVNhdCBKdWwgIDQgMTE6MTU6MzYg MTk5OA0KKioqKioqKioqKioqKioqDQoqKiogNTEzLDUxOCAqKioqDQotLS0g NTEzLDUyMCAtLS0tDQogIGRldmljZQkJc2MwCWF0IGlzYT8gcG9ydCAiSU9f S0JEIiB0dHkgaXJxIDEgdmVjdG9yIHNjaW50cg0KICBvcHRpb25zCQlNQVhD T05TPTE2CQkjIG51bWJlciBvZiB2aXJ0dWFsIGNvbnNvbGVzDQogIG9wdGlv bnMJCVNMT1dfVkdBCQkjIGRvIGJ5dGUtd2lkZSBpL28ncyB0byBUUyBhbmQg R0RDIHJlZ3MNCisgb3B0aW9ucyAgICAgU0NfU1BMQVNIX1NDUkVFTiAgIyA/ Pw0KKyBvcHRpb25zICAgICBDSEFSQUNURVJfTU9VU0UgICAjIHVzZSBjaGFy YWN0ZXIgbW91c2UgaW5zdGVhZCBvZiBwaXhlbCBtb3VzZQ0KICANCiAgIw0K ICAjIGBmbGFncycgZm9yIHNjMDoNCioqKiBvcHRpb25zLmkzODYub3JpZwlT YXQgSnVsICA0IDE0OjI0OjE4IDE5OTgNCi0tLSBvcHRpb25zLmkzODYJU2F0 IEp1bCAgNCAxMToxNDoxMyAxOTk4DQoqKioqKioqKioqKioqKioNCioqKiA0 NSw1MCAqKioqDQotLS0gNDUsNTEgLS0tLQ0KICBTQ19TUExBU0hfU0NSRUVO CW9wdF9zeXNjb25zLmgNCiAgTUFYQ09OUwkJCW9wdF9zeXNjb25zLmgNCiAg U0xPV19WR0EJCW9wdF9zeXNjb25zLmgNCisgQ0hBUkFDVEVSX01PVVNFICAg b3B0X3N5c2NvbnMuaA0KICANCiAgUFNNX0FDQ0VMCQlvcHRfcHNtLmgNCiAg UFNNX0VNVUxBVElPTgkJb3B0X3BzbS5oDQo= --0-725232148-899556865=:352-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message