[PATCH 0/12] Early USB debug port and i386 boot cleanups




Modern hardware relies primarily on memory mapped I/O which is typically
at addresses that are not mapped by the kernels initial page tables,
which makes using them currently unusable for early debugging print support.

So this patch set digs in and fixes the early page tables on both
arch/i386 and arch/x86_64 so that set_fixmap works with our initial boot
page tables. All that is needed is that we allocate preallocate the pte
page that the fixmap entries live on.

On arch/i386 I accomplish this by ensuring the boot time page tables are
in the native mode. Doing this provides an alternative and slightly
more capable fix to Jeremy's problem of not having the initial memory
mapping covering enough pages to identity map all of low memory. Because
we are now updating the page table we are running on we add the mappings
we need for the initial page table as we build the initial page table.

Since I was in there I kept cleaning up arch/i386/head.S.
In particular I have gotten as far as removing the early cpuid,
and have added a head32.S.

Eric
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • Re: AltairZ80 simulator updated
    ... Plus hardware memory mapped I/O. ... and 10x CP/M-80 RAM probably seemed reasonable at the time. ... why starting with A bank and not, say, D or E bank? ...
    (comp.os.cpm)
  • [OT] Documentation for PC Architecture
    ... found al lot of good doc for the CPU but about the basic ... memory instead of RAM? ... Since the CPU can't know if it's writing to memory or some memory mapped I/O ... But how does the "BUS CONTROLLER" do this association? ...
    (Linux-Kernel)
  • Re: Identifying I/O related instructions
    ... falls within the range of memory mapped i/o (given that there are so ... But debuggers like OllyDbg can show accessed memory in ranged order. ... An OS must/can detect a device and grant access to an I/O-memory range ...
    (comp.lang.asm.x86)
  • Re: Memory Mapped I/O vs Swap?
    ... of memory, ... second one maps the 512MB matrix to a file through memory mapped I/O. ... is on a device that is much faster than your swap device. ... An anonymous mapped file should be the same as paging through swap. ...
    (comp.os.linux.development.apps)
  • Re: [BUG] New Kernel Bugs
    ... The big difference with large mmap'ed files is that later kernels will ... actually track dirty ratios for dirty mmap'ed pages. ... So in older kernels, you can dirty as much memory as you want, and the ... First dbclean creates a new dcc_db file by copying from the old file. ...
    (Linux-Kernel)