linux console - Linux

This is a discussion on linux console - Linux ; any body knows where to find docs that explains how linux console works also i need to know why i can't access vga memory from kdb when i type md 0xb8000 although it works for vga mapping region in 0xc00b8000 ...

+ Reply to Thread
Results 1 to 6 of 6

Thread: linux console

  1. linux console


    any body knows where to find docs that explains how linux console
    works
    also i need to know why i can't access vga memory from kdb when i
    type
    md 0xb8000
    although it works for vga mapping region in 0xc00b8000
    also how to log function execution sequence in source code


  2. Re: linux console

    iyegypt wrote:
    > any body knows where to find docs that explains how linux console
    > works
    > also i need to know why i can't access vga memory from kdb when i
    > type
    > md 0xb8000
    > although it works for vga mapping region in 0xc00b8000
    > also how to log function execution sequence in source code
    >

    and maybe the relativity theory and genetics and ...
    My goodness ... that's three things in one ... that's impossible ;-)

    1. Use the source, Luke!
    2. kdb works in kernel virtual space, so 0-3G is the current user
    process (whoever that currently is), the 1st GB of physical memory is
    mapped to 3-4GB, so you'll find physical address A at 0xc0000000+A.
    3. I'd use a healthy dose of printk()s.

    --
    These are my personal views and not those of Fujitsu Siemens Computers!
    Josef Möllers (Pinguinpfleger bei FSC)
    If failure had no penalty success would not be a prize (T. Pratchett)
    Company Details: http://www.fujitsu-siemens.com/imprint.html


  3. Re: linux console

    i know that adress is mapped to c00000000+vga adress
    but if i need to access vga directly , for example if i need to change
    a character in the screen it will be changed in the screen mapped
    buffer and not in the real vga buffer so i will not notice it on the
    screen
    there is some way of connection between mapped region and vga real
    buffer
    in such a way that only one part of the mapped bufer is directed to
    the real buffer so you watch it on screen
    i searched the source for this function but in vain


  4. linux console

    JM> kdb works in kernel virtual space, so 0-3G is the current
    JM> user process (whoever that currently is), the 1st GB of
    JM> physical memory is mapped to 3-4GB, so you'll find
    JM> physical address A at 0xc0000000+A.

    i> i know that adress is mapped to c00000000+vga adress
    i> but if i need to access vga directly , for example if i need
    i> to change a character in the screen it will be changed in
    i> the screen mapped buffer and not in the real vga buffer

    What makes you think that you would not be writing to the physical
    video RAM? I suggest that you find a decent reference book on the x86
    architecture and read about logical, linear, and physical address
    spaces.


  5. Re: linux console

    J de Boyne Pollard wrote:
    > JM> kdb works in kernel virtual space, so 0-3G is the current
    > JM> user process (whoever that currently is), the 1st GB of
    > JM> physical memory is mapped to 3-4GB, so you'll find
    > JM> physical address A at 0xc0000000+A.
    >
    > i> i know that adress is mapped to c00000000+vga adress
    > i> but if i need to access vga directly , for example if i need
    > i> to change a character in the screen it will be changed in
    > i> the screen mapped buffer and not in the real vga buffer
    >
    > What makes you think that you would not be writing to the physical
    > video RAM? I suggest that you find a decent reference book on the x86
    > architecture and read about logical, linear, and physical address
    > spaces.
    >


    I doubt that it has anything to do with the kind of address used, but
    maybe with the fact that modern (PCI based) machines do not have their
    video memory mapped to 0xa00000 any more but somewhere close to the end
    of the 4GB physical address range.
    But I'm not sure of this.
    --
    These are my personal views and not those of Fujitsu Siemens Computers!
    Josef Möllers (Pinguinpfleger bei FSC)
    If failure had no penalty success would not be a prize (T. Pratchett)
    Company Details: http://www.fujitsu-siemens.com/imprint.html


  6. linux console

    JM> kdb works in kernel virtual space, so 0-3G is the current
    JM> user process (whoever that currently is), the 1st GB of
    JM> physical memory is mapped to 3-4GB, so you'll find
    JM> physical address A at 0xc0000000+A.

    i> i know that adress is mapped to c00000000+vga adress
    i> but if i need to access vga directly , for example if i need
    i> to change a character in the screen it will be changed in
    i> the screen mapped buffer and not in the real vga buffer

    JdeBP> What makes you think that you would not be
    JdeBP> writing to the physical video RAM? I suggest that
    JdeBP> you find a decent reference book on the x86
    JdeBP> architecture and read about logical, linear, and
    JdeBP> physical address spaces.

    JM> I doubt that it has anything to do with the kind of
    JM> address used, but maybe with the fact that modern
    JM> (PCI based) machines do not have their video memory
    JM> mapped to 0xa00000 any more but somewhere close
    JM> to the end of the 4GB physical address range.

    You're assuming that what xe was saying about it writing to something
    other than the VRAM was actually true. But it isn't. Yes, for non-
    VGA graphics modes modern display adapters can have their VRAM mapped
    that way. See . But if you
    look back at the xyr messages you'll see (from xyr using the address
    0xb8000 and talking about changing "a character in the screen") that
    M. iyegypt is not only not talking about non-VGA graphics modes, xe
    isn't even talking about VGA graphics modes. Xe is talking about
    _text_ mode. Now it's true that xyr display adapter very probably
    isn't even _in_ text mode in the first place, and the mechanics of
    framebuffer consoles are another thing that xe needs to learn about.
    But when it is, the video RAM is mapped at the same physical address
    that it has been ever since the Colour Graphics Adapter. (There are
    even special features in PCI-to-PCI bridge chips dedicated to the fact
    that PCI hardware that imitates the Video Graphics Array has to decode
    this range of addresses. Read about the "VGA Enable" bit and VGA
    address aliasing.)


+ Reply to Thread