From: Gerhard Thimm (gthimm@zbw.ch)
Date: Fri Sep 29 2000 - 09:32:09 CEST
Michele Andreoli schrieb:
>
> On Thu, Sep 28, 2000 at 02:24:01PM +0200, Gerhard Thimm nicely wrote:
> >
> > I think the io-concept also exists in the pci-world (and also in the
> > agp-world). Look at a graphics-card, which has the video-memory in
> > memory-space and the video-control-registers in io-space. You can run
> > the oldest dos-pacman on all this cards, so i think ioports are an
> > intel-concept, not isa.
> >
>
> Thank much for the clarification. But, anycase, why my ethernet PCI
> do not requires *explicity* an ioport?
>
> A look in the /proc/ioports shows:
>
> ==========================================
> 0000-001f : dma1
> 0020-003f : pic1
> 0040-005f : timer
> 0060-006f : keyboard
> 0070-007f : rtc
> 0080-008f : dma page reg
> 00a0-00bf : pic2
> 00c0-00df : dma2
> 00f0-00ff : fpu
> 0170-0177 : ide1
> 01f0-01f7 : ide0
> 0220-022f : soundblaster
> 02f8-02ff : serial(set)
> 0376-0376 : ide1
> 0378-037f : parport0
> 03c0-03df : vga+
> 03f6-03f6 : ide0
> 03f8-03ff : serial(set)
> 0778-077a : parport0
> b400-b47f : 3Com EtherLink PCI NIC
> b800-b87f : 3Com EtherLink PCI NIC
> d000-d0be : aic7xxx
> d800-d807 : ide0
> d808-d80f : ide1
> ==========================================
Well, I think the 3Com-Card is the ethernet-card and uses the ports
b400-b47f and b800-b87f. (are this 2 cards?) Ok, 0xb400 is not typical
for an isa-card but possible for a pci-card.
Technical: The size off the IO-space on an Intel-Processor is 64KB
(hexrange 0x0000-0xffff), this means that 16 Address-lines are needed.
In the year 1981, when ibm designed the pc, the engineers decided that
10 (ten) address-lines are enough (hexrange 0x000-0x3ff). This is a
coded IO-space of only 512-Bytes (instead of possible 65336 Bytes). Look
at a typical mainboard, just 4 to 8 slots, a IO-Space of 512 seems more
than enough. Anyway, over the years several companies, e.g. compact,
decided to build IOs with higher io-adresses, which was often a reason
for trouble. An address like 0x13f8 also selects a not fully decoded
serial-port at 0x3f8.
When intel designed the pci, they take all 16 addresslines. So 0xb400 is
also valid IO-port, but a strange-one under an "isa-view", in isa
0x000-0x3ff is normal.
>
> so, it is now clear, ioports is the rule, not the exception,
> included keyboard.
> How to distinguish memory-space from io-space starting from
> this hex address?
Don't know if I found the right words in my dics. My old math-teacher
would say:"This is sufficient but not fully satisfactory!" Or something
like this.
IO-space ranges from 0x0000-0xffff, memory-space from
0x0000'0000-0xffff'ffff. So a low number is probably a IO but not sure.
Just the number is not enough, you need more info, e.g. /proc/ioports or
the source-code or do some tests with the msdos-tool "debug".
Hope this helps, Gerhard
>
> Michele
> --
> I'd like to conclude with a positive statement, but I can't
> remember any. Would two negative ones do? -- Woody Allen
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: mulinux-unsubscribe@sunsite.auc.dk
> For additional commands, e-mail: mulinux-help@sunsite.auc.dk
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Gerhard Thimm <mailto:gthimm@zbw.ch> Informatiker, Kursleiter Informatikfachmann ZbW - Zentrum fuer berufliche Weiterbildung Gaiserwaldstrasse 6 CH-9015 St. Gallen Telefon : (41) (0)71 / 313 40 40 Direkt : (41) (0)71 / 313 40 53 FAX : (41) (0)71 / 313 40 00 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------------------------------------------------------------------- To unsubscribe, e-mail: mulinux-unsubscribe@sunsite.auc.dk For additional commands, e-mail: mulinux-help@sunsite.auc.dk
This archive was generated by hypermail 2.1.6 : Sat Feb 08 2003 - 15:27:16 CET