Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.misc > #2610

Re: USB interface

From Dag-Erling Smørgrav <des@des.no>
Newsgroups comp.misc
Subject Re: USB interface
Date 2014-05-02 15:29 +0200
Message-ID <86wqe4gvhb.fsf@nine.des.no> (permalink)
References (8 earlier) <lgfhug$tc1$1@solani.org> <rdfni9ll9qu9tafe2iikmo6pbvada3jskv@4ax.com> <lgh1d1$402$5@solani.org> <5362ba4b$0$44781$862e30e2@ngroups.net> <vg3r44clbra.fsf@coffee.modeemi.fi>

Show all headers | View raw


Anssi Saari <as@sci.fi> writes:
> I guess the most amusing thing is that Intel themselves are even today
> making motherboards with all (or most) the legacy ports included. In the
> guise of cheapies with slow Atom processors though. So what happened to
> those people at Intel who were pushing those "legacy free PCs" when USB
> first appeared?

Legacy free does not mean no serial port, it means no i8042 keyboard
controller, no A20 gate, and usually a very minimal BIOS.

(If you know what the above means, you can stop reading here)

In order to address up to 1 MB of RAM using 16-bit registers, the i8086
and its descendents (when running in real mode) have an addressing
scheme based on segments and offsets.  All memory access is relative to
one of four segment registers (CS, DS, ES, SS) and the physical address
is computed by left-shifting the segment by four and adding the offset.
With only 20 address lines, the carry is lost and addresses beyond 1 MB
wrap around (65535 * 16 + 65535 = 1114095 which wraps around to 65519).

About three minutes after the first IBM PC shipped, idi^H^H^Hprogrammers
started writing code that relied on this feature.  So when the 80286
arrived with its 24-bit bus, address line 20 had to be disabled at boot
so addresses beyond 1 MB would still wrap around.  Obviously, software
that wanted access to the full address space needed a way to re-enable
the A20 line.  Someone noticed that the i8042 keyboard controller had an
unused pin and decided that it made perfect sense to use that pin to
control the gate that enabled the A20 line.

(Another unused pin on the i8042 was hooked up to the CPU's reset pin to
allow the CPU to hard-reset itself, but that's a whole other story.)

In the mid-2000s, I worked on a Linux-based thin client OS which was
designed to run on pretty much anything you could lay your hands on
(which made it very popular with cash-strapped schools).  We had to
patch the kernel to ignore a failure to flip the A20 gate so it would
work on "legacy-free" thin clients.  These days, Linux checks whether
the A20 line is enabled before trying to flip the gate.

If memory serves, Apple was the first major manufacturer to ship x86
computers with no i8042 (whether discrete or emulated) and no A20 gate.

DES
-- 
Dag-Erling Smørgrav - des@des.no

Back to comp.misc | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Re: The Hex concept "Dave" <dwickford@yahoo.com> - 2014-03-17 20:46 +0000
  Re: The Hex concept RS Wood <rsw@therandymon.com> - 2014-03-18 08:59 +0000
    Re: The Hex concept Paul Sture <nospam@sture.ch> - 2014-03-18 13:42 +0100
      Re: The Hex concept RS Wood <rsw@therandymon.com> - 2014-03-18 19:02 +0000
        Software Bloat Oregonian Haruspex <bob_davis_retired@yahoo.com> - 2014-03-18 19:19 +0000
          Re: Software Bloat Johny B Good <johnny-b-good@invalid.ntlworld.com> - 2014-03-18 20:51 +0000
            Re: Software Bloat Oregonian Haruspex <bob_davis_retired@yahoo.com> - 2014-03-18 14:49 -0700
              Re: Software Bloat Johny B Good <johnny-b-good@invalid.ntlworld.com> - 2014-03-18 22:05 +0000
                Re: USB interface RS Wood <rsw@therandymon.com> - 2014-03-20 20:09 +0000
                Re: USB interface Huge <Huge@nowhere.much.invalid> - 2014-03-20 20:24 +0000
                Re: USB interface Johny B Good <johnny-b-good@invalid.ntlworld.com> - 2014-03-21 04:31 +0000
                Re: USB interface RS Wood <rsw@therandymon.com> - 2014-03-21 09:39 +0000
                Re: USB interface RS Wood <rsw@therandymon.com> - 2014-05-01 21:19 +0000
                Re: USB interface Mike Spencer <mds@bogus.nodomain.nowhere> - 2014-05-01 23:33 -0300
                Re: USB interface Tim Watts <tw_usenet@dionic.net> - 2014-05-02 08:49 +0100
                Re: USB interface Bob Eager <news0002@eager.cx> - 2014-05-02 07:56 +0000
                Re: USB interface Tim Watts <tw_usenet@dionic.net> - 2014-05-02 10:39 +0100
                Re: USB interface Bob Eager <news0002@eager.cx> - 2014-05-02 10:21 +0000
                Re: USB interface Tim Watts <tw_usenet@dionic.net> - 2014-05-02 19:30 +0100
                Re: USB interface Huge <Huge@nowhere.much.invalid> - 2014-05-02 08:23 +0000
                Re: USB interface Tim Streater <timstreater@greenbee.net> - 2014-05-02 09:58 +0100
                Re: USB interface RS Wood <rsw@therandymon.com> - 2014-05-02 09:14 +0000
                Re: USB interface Tim Streater <timstreater@greenbee.net> - 2014-05-02 11:06 +0100
                Re: USB interface Bob Eager <news0002@eager.cx> - 2014-05-02 10:21 +0000
                Re: USB interface Paul Sture <nospam@sture.ch> - 2014-05-02 22:35 +0200
                Re: USB interface Will Honea <whonea@whonea.net> - 2014-05-02 12:25 -0600
                Re: USB interface Anssi Saari <as@sci.fi> - 2014-05-02 13:23 +0300
                Re: USB interface Dag-Erling Smørgrav <des@des.no> - 2014-05-02 15:29 +0200
                Re: USB interface Anssi Saari <as@sci.fi> - 2014-05-06 16:47 +0300
                Re: USB interface Dag-Erling Smørgrav <des@des.no> - 2014-05-08 16:55 +0200
                Re: USB interface Rich <rich@example.com> - 2014-03-21 15:20 +0000
                Re: USB interface Johny B Good <johnny-b-good@invalid.ntlworld.com> - 2014-03-22 00:41 +0000
                Re: USB interface Dave Garland <dave.garland@wizinfo.com> - 2014-03-21 22:44 -0500
                Re: USB interface Oregonian Haruspex <bob_davis_retired@yahoo.com> - 2014-03-22 00:49 -0700
                Re: USB interface Paul Sture <nospam@sture.ch> - 2014-03-22 09:46 +0100
                Re: USB interface Dave Garland <dave.garland@wizinfo.com> - 2014-03-22 12:42 -0500
                Re: USB interface Johny B Good <johnny-b-good@invalid.ntlworld.com> - 2014-03-22 15:17 +0000
              Re: Software Bloat RS Wood <rsw@therandymon.com> - 2014-03-18 22:07 +0000
                Re: Software Bloat Oregonian Haruspex <bob_davis_retired@yahoo.com> - 2014-03-18 15:38 -0700
                Re: Software Bloat Spalls Hurgenson <spallshurgenson@gmail.com> - 2014-03-19 10:30 -0400
                Re: Software Bloat Huge <Huge@nowhere.much.invalid> - 2014-03-19 15:40 +0000
                Re: Software Bloat Tim Streater <timstreater@greenbee.net> - 2014-03-19 16:27 +0000
                Re: Software Bloat Paul Sture <nospam@sture.ch> - 2014-03-19 16:59 +0100
                Re: Software Bloat polygonum <rmoudndgers@vrod.co.uk> - 2014-03-18 22:55 +0000
                Re: Software Bloat Whiskers <catwheezel@operamail.com> - 2014-03-19 12:27 +0000
                Re: Software Bloat Tim Streater <timstreater@greenbee.net> - 2014-03-19 16:26 +0000
                Re: Software Bloat RS Wood <rsw@therandymon.com> - 2014-03-19 20:07 +0000

csiph-web