summaryrefslogtreecommitdiffstats
path: root/arch/sparc/prom/console_64.c
Commit message (Collapse)AuthorAgeFilesLines
* Disintegrate asm/system.h for SparcDavid Howells2012-03-281-1/+0Star
| | | | | | | Disintegrate asm/system.h for Sparc. Signed-off-by: David Howells <dhowells@redhat.com> cc: sparclinux@vger.kernel.org
* sparc: Eliminate prom_stdin.David S. Miller2010-12-121-2/+0Star
| | | | | | | | Completely unused. Based upon a patch by Julian Calaby. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: Write to prom console using indirect buffer.David S. Miller2010-12-011-14/+13Star
| | | | | | | | | | | | | | | | | | | | | sparc64 systems have a restriction in that passing in buffer addressses above 4GB to prom calls is not reliable. We end up violating this when we do prom console writes, because we use an on-stack buffer to translate '\n' into '\r\n'. So instead, do this translation into an intermediate buffer, which is in the kernel image and thus below 4GB, then pass that to the PROM console write calls. On the 32-bit side we don't have to deal with any of these issues, so the new prom_console_write_buf() uses the existing prom_nbputchar() implementation. However we can now mark those routines static. Since the 64-bit side completely uses new code we can delete the putchar bits as they are now completely unused. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: Delete prom_*getchar().David S. Miller2010-11-301-32/+0Star
| | | | | | Completely unused. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: Pass buffer pointer all the way down to prom_{get,put}char().David S. Miller2010-11-301-17/+17
| | | | | | | | This gets us closer to being able to eliminate the use of dynamic and stack based buffers, so that we can adhere to the "no buffer addresses above 4GB" rule for PROM calls. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: Do not export prom_nb{get,put}char().David S. Miller2010-11-171-4/+2Star
| | | | | | Never used outside of console_{32,64}.c Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc64: Delete prom_puts() unused.David S. Miller2010-11-161-16/+0Star
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc64: Get rid of indirect p1275 PROM call buffer.David S. Miller2010-08-241-11/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is based upon a report by Meelis Roos showing that it's possible that we'll try to fetch a property that is 32K in size with some devices. With the current fixed 3K buffer we use for moving data in and out of the firmware during PROM calls, that simply won't work. In fact, it will scramble random kernel data during bootup. The reasoning behind the temporary buffer is entirely historical. It used to be the case that we had problems referencing dynamic kernel memory (including the stack) early in the boot process before we explicitly told the firwmare to switch us over to the kernel trap table. So what we did was always give the firmware buffers that were locked into the main kernel image. But we no longer have problems like that, so get rid of all of this indirect bounce buffering. Besides fixing Meelis's bug, this also makes the kernel data about 3K smaller. It was also discovered during these conversions that the implementation of prom_retain() was completely wrong, so that was fixed here as well. Currently that interface is not in use. Reported-by: Meelis Roos <mroos@linux.ee> Tested-by: Meelis Roos <mroos@linux.ee> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: remove redundant return statementsJan Engelhardt2010-02-101-1/+0Star
| | | | | Signed-off-by: Jan Engelhardt <jengelh@medozas.de> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc,sparc64: unify prom/Sam Ravnborg2008-12-041-0/+74
- all files with identical names copied and renamed to *_64.c - the remaning files copied as is - added sparc64 specific files to sparc/prom/Makefile - teach sparc64 Makefile to look into sparc/prom/ - delete unused Makefile from sparc64/prom/ linking order was not kept for sparc64 with this change. It was not possible to keep linking order for both sparc and sparc64 and as sparc64 see more testing than sparc it was natural to break linking order on sparc64. Should it have any effect it would be detected sooner this way. printf_32.c and printf_64.c are obvious candidates to be merged but they are not 100% equal so that was left for later Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>