Commit 4d5a4675 authored by Geert Uytterhoeven's avatar Geert Uytterhoeven Committed by Linus Torvalds

[PATCH] Mac/m68k early startup fixes

Mac/m68k early startup fixes (from Ray Knight in 2.4.x)
  - Correct memory mapping for Macintosh.
  - Prevent screen output from appearing twice.
parent f0cd2f87
...@@ -130,7 +130,7 @@ ...@@ -130,7 +130,7 @@
* *
* mmu_engage * mmu_engage
* ---------- * ----------
* Thanks to a small helping routine enabling the mmu got quiet simple * Thanks to a small helping routine enabling the mmu got quite simple
* and there is only one way left. mmu_engage makes a complete a new mapping * and there is only one way left. mmu_engage makes a complete a new mapping
* that only includes the absolute necessary to be able to jump to the final * that only includes the absolute necessary to be able to jump to the final
* postion and to restore the original mapping. * postion and to restore the original mapping.
...@@ -1202,7 +1202,7 @@ L(not6000): ...@@ -1202,7 +1202,7 @@ L(not6000):
* *
* Map the kernel (that's already done), * Map the kernel (that's already done),
* Map the I/O (on most machines that's the * Map the I/O (on most machines that's the
* 0x5000.0000 ... 0x5200.0000 range, * 0x5000.0000 ... 0x5300.0000 range,
* Map the video frame buffer using as few pages * Map the video frame buffer using as few pages
* as absolutely (this requirement mostly stems from * as absolutely (this requirement mostly stems from
* the fact that when the frame buffer is at * the fact that when the frame buffer is at
...@@ -1246,10 +1246,11 @@ L(mmu_init_mac): ...@@ -1246,10 +1246,11 @@ L(mmu_init_mac):
andl L(mac_videobase),%d0 andl L(mac_videobase),%d0
mmu_map #VIDEOMEMBASE,%d0,#VIDEOMEMSIZE,%d3 mmu_map #VIDEOMEMBASE,%d0,#VIDEOMEMSIZE,%d3
mmu_map_eq #0x40800000,#0x02000000,%d3 /* rom ? */ /* The ROM starts at 4000 0000 */
mmu_map_eq #0x50000000,#0x02000000,%d3 mmu_map_eq #0x40000000,#0x02000000,%d3
mmu_map_eq #0x60000000,#0x00400000,%d3 /* IO devices */
mmu_map_eq #0x9c000000,#0x00400000,%d3 mmu_map_eq #0x50000000,#0x03000000,%d3
/* NuBus slot space */
mmu_map_tt #1,#0xf8000000,#0x08000000,%d3 mmu_map_tt #1,#0xf8000000,#0x08000000,%d3
jbra L(mmu_init_done) jbra L(mmu_init_done)
...@@ -1461,6 +1462,9 @@ L(mmu_fixup_done): ...@@ -1461,6 +1462,9 @@ L(mmu_fixup_done):
andl L(mac_videobase),%d0 andl L(mac_videobase),%d0
addl #VIDEOMEMBASE,%d0 addl #VIDEOMEMBASE,%d0
movel %d0,L(mac_videobase) movel %d0,L(mac_videobase)
#ifdef MAC_SERIAL_DEBUG
orl #0x50000000,L(mac_sccbase)
#endif
1: 1:
#endif #endif
...@@ -3032,10 +3036,6 @@ func_start serial_putc,%d0/%d1/%a0/%a1 ...@@ -3032,10 +3036,6 @@ func_start serial_putc,%d0/%d1/%a0/%a1
#ifdef CONFIG_MAC #ifdef CONFIG_MAC
is_not_mac(5f) is_not_mac(5f)
#ifdef CONSOLE
console_putc %d0
#endif /* CONSOLE */
#ifdef MAC_SERIAL_DEBUG #ifdef MAC_SERIAL_DEBUG
#ifdef MAC_USE_SCC_A #ifdef MAC_USE_SCC_A
...@@ -3430,6 +3430,10 @@ L(console_put_stats): ...@@ -3430,6 +3430,10 @@ L(console_put_stats):
putn %pc@(L(cputype)) putn %pc@(L(cputype))
putc '\n' putc '\n'
#ifdef MAC_SERIAL_DEBUG
putn %pc@(L(mac_sccbase))
putc '\n'
#endif
# if defined(MMU_PRINT) # if defined(MMU_PRINT)
jbsr mmu_print_machine_cpu_types jbsr mmu_print_machine_cpu_types
# endif /* MMU_PRINT */ # endif /* MMU_PRINT */
...@@ -3606,7 +3610,7 @@ console_not_home: ...@@ -3606,7 +3610,7 @@ console_not_home:
movel %a0@(Lconsole_struct_num_columns),%d1 movel %a0@(Lconsole_struct_num_columns),%d1
cmpl %d1,%d0 cmpl %d1,%d0
jcs 1f jcs 1f
putc '\n' /* recursion is OK! */ console_putc #'\n' /* recursion is OK! */
1: 1:
movel %a0@(Lconsole_struct_cur_row),%d1 movel %a0@(Lconsole_struct_cur_row),%d1
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment