OpenCloudOS-Kernel/arch/powerpc/kernel
Andrew Klossner af9c724907 powerpc/udbg: Fix lost byte during console handover; change LFCR to CRLF
When the console is on a serial port to be driven by serial8250, a
character can be lost from the end of the first line in the two-line
sequence

	serial8250.0: ttyS0 at MMIO 0xe0004500 (irq = 42) is a 16550A
	console handover: boot [udbg0] -> real [ttyS0]

This happens because udbg_puts or udbg_write stuff the last byte of
the line into the Tx FIFO and return, whereupon the serial8250
initialization code immediately empties that FIFO.  The fix: udbg_puts
and udbg_write now wait for the Tx FIFO to clear before returning.
This delays the system by one additional serial frame time for each
line written by udbg, but the effect is not noticeable, a cumulative
17 milliseconds for 200 lines of early printk output at 115200 baud.

Also, the routines in udbg_16550.c now emit CRLF instead of LFCR.
Linux makes a point of emitting CRLF because, when serial output is
captured to a file, LFCR sequences can confuse text editors.  See
http://lkml.org/lkml/2006/2/4/50 for some history.

Signed-off-by: Andrew Klossner <andrew@cesa.opbu.xerox.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2009-03-11 17:11:34 +11:00
..
vdso32 powerpc/mm: Introduce MMU features 2008-12-21 14:21:16 +11:00
vdso64 powerpc/mm: Introduce MMU features 2008-12-21 14:21:16 +11:00
.gitignore powerpc: Ignore generated vmlinux.lds in git 2008-10-07 14:26:18 +11:00
Makefile powerpc: Add support for using doorbells for SMP IPI 2009-02-23 15:53:03 +11:00
align.c powerpc: Fix load/store float double alignment handler 2009-02-23 15:53:05 +11:00
asm-offsets.c powerpc: Remove unused asm-offsets entries for cpu_spec 2009-03-11 17:10:15 +11:00
audit.c [PATCH] audit signal recipients 2007-05-11 05:38:25 -04:00
btext.c powerpc: Use the common ascii hex helpers 2008-08-20 16:34:57 +10:00
cacheinfo.c powerpc/cacheinfo: Rename cache_dir per-cpu variable 2009-01-13 14:48:02 +11:00
cacheinfo.h powerpc: Rewrite sysfs processor cache info code 2009-01-08 16:25:10 +11:00
clock.c [POWERPC] clk.h interface for platforms 2007-10-03 09:11:56 +10:00
compat_audit.c [PATCH] add SIGNAL syscall class (v3) 2007-05-11 05:38:25 -04:00
cpu_setup_6xx.S [POWERPC] ppc32: Fix errata for 603 CPUs 2008-04-21 15:00:32 -05:00
cpu_setup_44x.S AMCC PPC 460SX redwood SoC platform initial framework 2009-02-14 14:41:29 -05:00
cpu_setup_fsl_booke.S powerpc/fsl-booke: Cleanup init/exception setup to be runtime 2009-01-28 18:16:50 -06:00
cpu_setup_pa6t.S [POWERPC] pasemi: Enable one more hid bit 2007-04-24 21:31:49 +10:00
cpu_setup_ppc970.S powerpc: Use LOAD_REG_IMMEDIATE only for constants on 64-bit 2008-09-15 11:08:35 -07:00
cputable.c powerpc/oprofile: Enable support for ppc750 processors 2009-03-11 17:11:32 +11:00
crash.c powerpc: Increase CRASH_HANDLER_MAX 2008-06-30 22:31:00 +10:00
crash_dump.c powerpc: Unify opcode definitions and support 2009-02-23 10:48:56 +11:00
dbell.c powerpc: Add support for using doorbells for SMP IPI 2009-02-23 15:53:03 +11:00
dma-iommu.c powerpc: Change u64/s64 to a long long integer type 2009-01-13 14:47:59 +11:00
dma.c powerpc: Add sync_*_for_* to dma_ops 2008-12-03 20:46:36 +11:00
entry_32.S powerpc: Unify opcode definitions and support 2009-02-23 10:48:56 +11:00
entry_64.S powerpc64, ftrace: save toc only on modules for function graph 2009-02-23 10:48:54 +11:00
firmware.c
fpu.S powerpc: Add VSX context save/restore, ptrace and signal support 2008-07-01 11:28:50 +10:00
ftrace.c powerpc: Unify opcode definitions and support 2009-02-23 10:48:56 +11:00
head_8xx.S [POWERPC] 8xx: fix swap 2008-03-07 08:42:28 -06:00
head_32.S powerpc/32: Add the ability for a classic ppc kernel to be loaded at 32M 2008-12-23 15:13:29 +11:00
head_40x.S [POWERPC] 40x/Book-E: Save/restore volatile exception registers 2008-06-02 14:56:35 -05:00
head_44x.S powerpc/44x: Support 16K/64K base page sizes on 44x 2008-12-29 09:53:25 +11:00
head_64.S powerpc/powermac: Fix occasional SMP boot failure 2009-01-13 14:48:03 +11:00
head_booke.h Merge commit 'jwb/next' into next 2009-03-03 13:30:03 +11:00
head_fsl_booke.S powerpc: Add support for using doorbells for SMP IPI 2009-02-23 15:53:03 +11:00
ibmebus.c powerpc: struct device - replace bus_id with dev_name(), dev_set_name() 2008-12-16 15:53:38 +11:00
idle.c powerpc: ftrace, do not latency trace idle 2008-11-20 10:51:15 -08:00
idle_6xx.S powerpc: Fix for getting CPU number in power_save_ppc32_restore() 2008-09-03 20:53:47 +10:00
idle_e500.S powerpc: Fix for getting CPU number in power_save_ppc32_restore() 2008-09-03 20:53:47 +10:00
idle_power4.S [POWERPC] powermac: Support G5 CPU hotplug 2007-05-07 20:31:13 +10:00
init_task.c take init_fs to saner place 2008-12-31 18:07:42 -05:00
io.c ftrace: support for PowerPC 2008-05-23 22:43:11 +02:00
iomap.c [POWERPC] Add 64-bit resources support to pci_iomap 2007-09-20 07:36:52 -05:00
iommu.c powerpc: Change u64/s64 to a long long integer type 2009-01-13 14:47:59 +11:00
irq.c cpumask: make irq_set_affinity() take a const struct cpumask 2008-12-13 21:20:26 +10:30
isa-bridge.c [POWERPC] Remove leftover printk in isa-bridge.c 2008-05-09 20:22:59 +10:00
kgdb.c kgdb, x86, arm, mips, powerpc: ignore user space single stepping 2008-09-26 10:36:41 -05:00
kprobes.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-01-07 11:31:52 -08:00
l2cr_6xx.S Convert files to UTF-8 and some cleanups 2007-10-19 23:21:04 +02:00
legacy_serial.c powerpc/powermac: Fixup default serial port device for pmac_zilog 2008-07-28 16:30:53 +10:00
lparcfg.c powerpc: Change u64/s64 to a long long integer type 2009-01-13 14:47:59 +11:00
machine_kexec.c powerpc/kexec: Check crash_base for relocatable kernel 2009-01-13 14:47:59 +11:00
machine_kexec_32.c kexec jump: rename KEXEC_CONTROL_CODE_SIZE to KEXEC_CONTROL_PAGE_SIZE 2008-08-15 08:35:42 -07:00
machine_kexec_64.c powerpc/32: Setup OF properties for kdump 2008-12-23 15:13:29 +11:00
misc.S powerpc: Use LOAD_REG_IMMEDIATE only for constants on 64-bit 2008-09-15 11:08:35 -07:00
misc_32.S powerpc/44x: Support 16K/64K base page sizes on 44x 2008-12-29 09:53:25 +11:00
misc_64.S powerpc: Kexec exit should not use magic numbers 2008-10-31 16:11:44 +11:00
module.c powerpc/mm: Introduce MMU features 2008-12-21 14:21:16 +11:00
module_32.c powerpc/ppc32: ftrace, dynamic ftrace to handle modules 2008-11-20 10:52:53 -08:00
module_64.c powerpc: Unify opcode definitions and support 2009-02-23 10:48:56 +11:00
msi.c [POWERPC] Fix sparse warnings in arch/powerpc/kernel 2008-05-14 22:31:59 +10:00
nvram_64.c [POWERPC] pseries: Eliminate global error_log_cnt variable 2007-08-17 11:01:52 +10:00
of_device.c powerpc: struct device - replace bus_id with dev_name(), dev_set_name() 2008-12-16 15:53:38 +11:00
of_platform.c powerpc: Add missing reference to coherent_dma_mask 2008-07-08 21:06:35 -07:00
paca.c powerpc: Update page-in counter for CMM 2008-11-05 22:08:28 +11:00
pci-common.c powerpc/pci: Fix typo: s/resouces/resources/ in a pr_debug 2009-03-11 17:11:34 +11:00
pci_32.c powerpc/pci: Fix PCI<->OF matching of old style multifunc devices 2009-02-23 10:48:57 +11:00
pci_64.c powerpc/pci: Move hose_list and pci_address_to_pio to pci-common 2009-02-11 16:00:07 +11:00
pci_dn.c [POWERPC] iSeries: eliminate pci_dn bussubno 2008-01-17 14:57:05 +11:00
pmc.c [POWERPC] Made FSL Book-E PMC support more generic 2008-02-05 23:34:14 -06:00
ppc32.h powerpc: Add VSX context save/restore, ptrace and signal support 2008-07-01 11:28:50 +10:00
ppc_ksyms.c powerpc: Export cacheable_memzero as its now used in a driver 2009-01-08 16:25:17 +11:00
ppc_save_regs.S powerpc: Prepare xmon_save_regs for use with kdump 2008-12-23 15:13:28 +11:00
proc_ppc64.c powerpc: use non-racy method for proc entries creation 2008-04-29 08:06:22 -07:00
process.c powerpc: Randomise PIEs 2009-02-23 15:53:21 +11:00
prom.c powerpc: Allow debugging of LMBs with lmb=debug 2009-02-11 13:38:00 +11:00
prom_init.c powerpc: Print linux_banner in prom_init 2009-03-11 17:11:33 +11:00
prom_init_check.sh powerpc: Print linux_banner in prom_init 2009-03-11 17:11:33 +11:00
prom_parse.c PCI: powerpc: use generic pci_swizzle_interrupt_pin() 2009-01-07 11:12:52 -08:00
ptrace.c powerpc: Don't use the wrong thread_struct for ptrace get/set VSX regs 2008-07-30 15:26:54 +10:00
ptrace32.c powerpc: Correctly hookup PTRACE_GET/SETVSRREGS for 32 bit processes 2008-07-30 15:26:54 +10:00
reloc_64.S powerpc: Make the 64-bit kernel as a position-independent executable 2008-09-15 11:08:38 -07:00
rtas-proc.c [POWERPC] Fix sparse warnings in arch/powerpc/kernel 2008-05-14 22:31:59 +10:00
rtas-rtc.c
rtas.c powerpc/pseries: Fix partition migration hang under load 2009-02-23 15:53:04 +11:00
rtas_flash.c SL*B: drop kmem cache argument from constructor 2008-07-26 12:00:07 -07:00
rtas_pci.c powerpc/pci: Fix various pseries PCI hotplug issues 2008-11-06 09:31:52 +11:00
setup-common.c powerpc: Move memory size print into common show_cpuinfo for 32-bit 2008-10-22 11:00:25 +11:00
setup.h
setup_32.c powerpc/32: Wire up the trampoline code for kdump 2008-12-23 15:13:29 +11:00
setup_64.c powerpc: Remove unused ppc64_terminate_msg() 2009-02-11 13:38:00 +11:00
signal.c powerpc: Add TIF_NOTIFY_RESUME support for tracehook 2008-07-28 16:30:50 +10:00
signal.h powerpc: Move is_32bit_task 2009-02-23 15:53:06 +11:00
signal_32.c powerpc: Fix msr check in compat_sys_swapcontext 2008-11-11 19:42:22 +11:00
signal_64.c powerpc: Fix swapcontext system for VSX + old ucontext size 2008-10-31 16:12:00 +11:00
smp-tbsync.c powerpc: Silence software timebase sync 2008-11-05 22:08:28 +11:00
smp.c Merge branch 'cpus4096-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-01-02 11:44:09 -08:00
softemu8xx.c Remove asm/a.out.h files for all architectures without a.out support. 2008-09-06 19:30:24 +01:00
stacktrace.c powerpc: Removed duplicated include in stacktrace.c 2008-07-28 16:30:47 +10:00
suspend.c PAGE_ALIGN(): correctly handle 64-bit values on 32-bit architectures 2008-07-24 10:47:21 -07:00
swsusp.c powerpc/mm: Split mmu_context handling 2008-12-21 14:21:15 +11:00
swsusp_32.S powerpc/mm: Introduce MMU features 2008-12-21 14:21:16 +11:00
swsusp_64.c [POWERPC] powermac: Suspend to disk on G5 2007-05-07 20:31:14 +10:00
swsusp_asm64.S powerpc: Fix 64-bit hibernation with 64k pages 2008-10-07 14:26:20 +11:00
sys_ppc32.c compat: generic compat get/settimeofday 2008-10-16 11:21:33 -07:00
syscalls.c powerpc/mm: Add Strong Access Ordering support 2008-07-09 16:30:45 +10:00
sysfs.c powerpc: Rewrite sysfs processor cache info code 2009-01-08 16:25:10 +11:00
systbl.S [POWERPC] Align the sys_call_table 2007-10-11 14:36:47 +10:00
systbl_chk.c [POWERPC] Fix a couple of copyright symbols 2008-01-25 22:52:50 +11:00
systbl_chk.sh [POWERPC] Fix a couple of copyright symbols 2008-01-25 22:52:50 +11:00
tau_6xx.c on_each_cpu(): kill unused 'retry' parameter 2008-06-26 11:24:38 +02:00
time.c Merge branch 'cputime' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 2009-01-03 11:56:24 -08:00
traps.c powerpc: Add support for using doorbells for SMP IPI 2009-02-23 15:53:03 +11:00
udbg.c powerpc/udbg: Fix lost byte during console handover; change LFCR to CRLF 2009-03-11 17:11:34 +11:00
udbg_16550.c powerpc/udbg: Fix lost byte during console handover; change LFCR to CRLF 2009-03-11 17:11:34 +11:00
vdso.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2008-12-28 16:54:33 -08:00
vecemu.c
vector.S
vio.c powerpc/pseries: Correct VIO bus accounting problem in CMO env. 2009-01-28 17:15:52 +11:00
vmlinux.lds.S powerpc64: port of the function graph tracer 2009-02-23 10:48:53 +11:00