27 Oct, 2010

1 commit

  • T2 are the only alpha SMP systems that do HAE switching at runtime, which
    is fundamentally racy on SMP. This patch limits MMIO space on T2 to HAE0
    only, like we did on MCPCIA (rawhide) long ago. This leaves us with only
    112 Mb of PCI MMIO (128 Mb HAE aperture minus 16 Mb reserved for EISA),
    but since linux PCI allocations are reasonably tight, it should be enough
    for sane hardware configurations.

    Also, fix a typo in MCPCIA_FROB_MMIO macro which shouldn't call set_hae()
    if MCPCIA_ONE_HAE_WINDOW is defined. It's more for correctness, as
    set_hae() is a no-op anyway in that case.

    Signed-off-by: Ivan Kokshaysky
    Cc: Matt Turner
    Cc: Richard Henderson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ivan Kokshaysky
     

16 Jan, 2009

1 commit

  • Unlike other alphas, marvel doesn't have real PC-style CMOS clock hardware
    - RTC accesses are emulated via PAL calls. Unfortunately, for unknown
    reason these calls work only on CPU #0. So current implementation for
    arbitrary CPU makes CMOS_READ/WRITE to be executed on CPU #0 via IPI.
    However, for obvious reason this doesn't work with standard
    get/set_rtc_time() functions, where a bunch of CMOS accesses is done with
    disabled interrupts.

    Solved by making the IPI calls for entire get/set_rtc_time() functions,
    not for individual CMOS accesses. Which is also a lot more effective
    performance-wise.

    The patch is largely based on the code from Jay Estabrook.
    My changes:
    - tweak asm-generic/rtc.h by adding a couple of #defines to
    avoid a massive code duplication in arch/alpha/include/asm/rtc.h;
    - sys_marvel.c: fix get/set_rtc_time() return values (Jay's FIXMEs).

    NOTE: this fixes *only* LIB_RTC drivers. Legacy (CONFIG_RTC) driver
    wont't work on marvel. Actually I think that we should just disable
    CONFIG_RTC on alpha (maybe in 2.6.30?), like most other arches - AFAIK,
    all modern distributions use LIB_RTC anyway.

    Signed-off-by: Ivan Kokshaysky
    Cc: Richard Henderson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ivan Kokshaysky
     

18 Dec, 2007

1 commit

  • This fixes some of the alpha-specific build problems, except a) modpost
    warning about COMMON symbol "saved_config" and b) nasty final link
    failure with gcc-4.x, -Os and scsi-disk driver configured built-in
    (due to jump table in .rodata referencing discarded .exit.text).

    - build failure with gcc-4.2.x: fix up casts in cia_io* routines to avoid
    warnings ('discards qualifiers from pointer target type'), which are
    failures, thanks to -Werror;
    - modpost warnings: add missing __init qualifier for titan and marvel;
    for non-generic build, move machine vectors from .data to .data.init.refok
    section;
    - unbreak CPU-specific optimization: rearrange cpuflags-y assignments
    so that extended -mcpu value (ev56, pca56, ev67) overrides basic
    one (ev5, ev6) and not vice versa.

    Signed-off-by: Ivan Kokshaysky
    Cc: Richard Henderson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ivan Kokshaysky
     

04 Oct, 2006

1 commit


01 Jul, 2006

1 commit


16 Dec, 2005

1 commit


17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds