Hi Daniel,
Some time ago I had the kernel running on a plain 68000 board I built:
http://mc68k.blogspot.pt/2012/05/alcetronics-m68k.html
I also done some fixes/hacks to have it working on the xcopilot emulator.
You can take a look of the changes in my github repo:
Xcopilot:
https://github.com/ljalves/alce68k/commit/4ef1df317c7acb6dfcd0fe9e87be9b4a60b141a4
The changes for my board are in the "alce68k" branch:
https://github.com/ljalves/alce68k/tree/alce68k/arch/m68k/platform/68000/alce68k
Regards,
Luis
On Fri, Mar 28, 2014 at 6:38 AM, Daniel Palmer <danieruru@xxxxxxxxx> wrote:
Replying to myself so there is a record of what I have found:
arch/m68k/platform/68000/mc68VZ328.c doesn't set mach_sched_init which
causes the CPU to jump back to 0 and eventually re-enter the kernel. I
didn't notice the that there were duplicate messages before. Adding a
dummy function for that allows start_kernel to get further.
The next problem I found is that drivers/tty/serial/68328serial.c
doesn't have any consideration for the PLL frequency. After commenting
out it's attempts to change the baud rate I can now see that it is
correctly being initialised and getting switched to.
With some help from printk I can see that it is now stopping around
the call to calibrate_delay() in start_kernel. I guess I will need to
implement the timer correctly to make it get any further but some
progress at least.
Current output below;
loading "/home/daniel/coding/musasim/dragonballstuff/linux/vmlinux.bin" to 0x400
wrote 904192 bytes
r 0x400
parsing command r 0x400
jumping to code at 0x400
Reading input from board
[ 0.000000] Linux version 3.14.0-rc8+ (daniel@mirmachina) (gcc
version 4.8.2 (GCC) ) #52 Fri Mar 28 15:21:19 JST 2014
[ 0.000000] bootconsole [early0] enabled
[ 0.000000] 68VZ328 DragonBallVZ support (c) 2001 Lineo, Inc.
[ 0.000000]
[ 0.000000]
[ 0.000000] uClinux/MC68VZ328
[ 0.000000] M68VZ328 support by Evan Stawnyczy <e@xxxxxxxx>
[ 0.000000] Flat model support (C) 1998,1999 Kenneth Albanowski, D.
Jeff Dionne
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping off.
Total pages: 2032
[ 0.000000] Kernel command line: console=ttyS0,115200 loglevel=7
[ 0.000000] PID hash table entries: 32 (order: -5, 128 bytes)
[ 0.000000] Dentry cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.000000] Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.000000] Memory: 7108K/8192K available (677K kernel code, 30K
rwdata, 132K rodata, 40K init, 77K bss, 1084K reserved)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0x00000000 - 0x00000400 ( 1 KiB)
[ 0.000000] kmap : 0x00000000 - 0xffffffff (4095 MiB)
[ 0.000000] vmalloc : 0x00000000 - 0xffffffff (4095 MiB)
[ 0.000000] lowmem : 0x00000000 - 0x00800000 ( 8 MiB)
[ 0.000000] .init : 0x000d3000 - 0x000dd000 ( 40 KiB)
[ 0.000000] .text : 0x00000400 - 0x000a9ad0 ( 678 KiB)
[ 0.000000] .data : 0x000a9ad0 - 0x000d2460 ( 163 KiB)
[ 0.000000] .bss : 0x000dd000 - 0x000f07a4 ( 78 KiB)
[ 0.000000] early irq init
[ 0.000000] NR_IRQS:32
[ 0.000000] init IRQ
[ 0.000000] tick init
[ 0.000000] init timers
[ 0.000000] hrtimers init
[ 0.000000] softirq
[ 0.000000] timekeeping_init()
[ 0.000000] time_init()
[ 0.000000] mach_sched_init
[ 0.000000] sched_clock_postinit()
[ 0.000000] perf_event_init()
[ 0.000000] profile_init()
[ 0.000000] call_function_init()
[ 0.000000] local_irq_enable()
[ 0.000000] kmem_cache_init_late()
[ 0.000000] console_init()
[ 0.000000] calling dcb4c
[ 0.000000] register_console(&m68328_driver)
[ 0.000000] m68328_console_setup
[ 0.000000] console [ttyS0] enabled
0.000000] console [ttyS0] enabled
[ 0.000000] bootconsole [early0] disabled
0.000000] bootconsole [early0] disabled
[ 0.000000] ---register_console(&m68328_driver)
[ 0.000000] lockdep_info()
[ 0.000000] locking_selftest()
[ 0.000000] page_cgroup_init()
[ 0.000000] debug_objects_mem_init()
[ 0.000000] kmemleak_init()
[ 0.000000] setup_per_cpu_pageset()
[ 0.000000] numa_policy_init()
[ 0.000000] sched_clock_init()
[ 0.000000] calibrate_delay()
--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html