Commit Graph

329 Commits

Author SHA1 Message Date
Laurent Vivier
5efe9903c3 First revision 2005-05-12 05:51:56 +00:00
Laurent Vivier
b990716081 Test all MMU types, more processor type specific code 2005-05-12 05:48:27 +00:00
Laurent Vivier
1e2b50db64 Add processor switch to PPC 2005-05-12 05:47:26 +00:00
Laurent Vivier
7ae18b52cf remove PPC_disable_cache 2005-05-12 05:47:00 +00:00
Laurent Vivier
b497459f33 Move bootinfo.o to m68k objects 2005-05-12 05:46:34 +00:00
Laurent Vivier
a440a330bd BootX infos, borrowed from linux sources include/asm-ppc/bootx.h 2005-05-11 12:24:59 +00:00
Laurent Vivier
2d5e941737 Correct m68k_init_memory_bank in case where there is no MMU 2005-05-10 22:52:21 +00:00
Laurent Vivier
ae5f6b8ef2 add missing quote 2005-05-10 22:23:07 +00:00
Laurent Vivier
590cff7025 Add multi-architecture support 2005-05-10 22:05:25 +00:00
Laurent Vivier
cb84c69fe5 Add missing return at end of function 2005-05-10 22:05:06 +00:00
Laurent Vivier
8dcd2e3be9 preliminary PPC support 2005-05-10 22:03:52 +00:00
Laurent Vivier
3721ba9227 Add multi-architecture support 2005-05-10 21:49:28 +00:00
Laurent Vivier
1d1e1e5bd7 Add CROSS_COMPILE to cross-compile tools 2005-05-10 20:20:15 +00:00
Laurent Vivier
a59b49fa18 Preliminary support of multitarget architecture (m68k, ppc) 2005-05-10 10:51:04 +00:00
Laurent Vivier
ca784197e6 Correct ppc_init_memory_map() 2005-05-09 23:37:28 +00:00
Laurent Vivier
4ed3cc0c2e Remove duplicate shift of logical address for DT_VALID_4_BYTE in decode_4_PD() and decode_8_PD() 2005-01-03 01:07:49 +00:00
Laurent Vivier
13a816d53f correct port 1 (printer) initialisation 2004-12-30 23:42:40 +00:00
Laurent Vivier
d993fdfc02 correct 2 bit depth display 2004-12-30 23:06:44 +00:00
Laurent Vivier
6c1367eed9 try to find a contiguous block until it finds or there is no more memory 2004-12-29 23:45:19 +00:00
Laurent Vivier
e2bbff5a94 don't allocate contiguous if not needed 2004-12-29 23:43:53 +00:00
Laurent Vivier
f21fd88ead replace emile-set-startup by emile-map-set 2004-12-27 21:39:19 +00:00
Laurent Vivier
01cf507368 allow to boot with an uncompressed kernel 2004-12-25 01:35:31 +00:00
Laurent Vivier
208344ca0d load_image() doesn't malloc memory anymore, we must provide the buffer 2004-12-25 00:53:59 +00:00
Laurent Vivier
3111a9a2e6 Correct a major memroy usage mismatch 2004-12-24 22:36:45 +00:00
Laurent Vivier
a700a2f1f7 remove BANK_DUMP 2004-12-24 20:08:58 +00:00
Laurent Vivier
fff252634d clean: remove second_floppy and second_scsi 2004-12-07 00:31:58 +00:00
Laurent Vivier
33a8a20132 Add container.o, remove SCSI_SUPPORT from floppy binary 2004-12-03 00:24:42 +00:00
Laurent Vivier
1cf536bfa9 first version, data for SCSI container 2004-12-03 00:23:49 +00:00
Laurent Vivier
c113ea06f9 switch to EM04, add scsi support -> kernel_image_offset is container offset 2004-12-03 00:21:25 +00:00
Laurent Vivier
3cb1bd230b switch EM04, add container management for SCSI support 2004-12-03 00:20:08 +00:00
Laurent Vivier
1abf16c567 add scsi support to load_image() 2004-12-03 00:19:02 +00:00
Laurent Vivier
616da27146 remove floppy driver number in load_image() parameters 2004-12-03 00:17:38 +00:00
Laurent Vivier
5f3f4888ef remove floppy driver number in load_image() parameters, add base offset to kernel image offset to find container if SCSI_SUPPORT 2004-12-03 00:16:30 +00:00
Laurent Vivier
4feec025f2 Add scsi_READ 2004-12-03 00:14:05 +00:00
Laurent Vivier
079def3b0b add floppy driver number in load_image() parameters 2004-12-01 00:22:46 +00:00
Laurent Vivier
921f705d15 create two binaries, one for booting from floppy, the other from scsi disk 2004-12-01 00:21:04 +00:00
Laurent Vivier
2bf87653e9 Add SCSI management 2004-12-01 00:17:27 +00:00
Laurent Vivier
22d765a08e add floppy driver number in load_image() parameters 2004-12-01 00:14:07 +00:00
Laurent Vivier
aaa8e0a711 Add MacOS functions SCSIReset(), SCSIGet(), SCSISelect(), SCSIcmd(), SCSIRead() and SCSIComplete 2004-12-01 00:11:36 +00:00
Laurent Vivier
5c6bccb928 more bootblock signatute 2004-10-07 19:52:44 +00:00
Laurent Vivier
f909655654 add _gestaltID 2004-10-07 09:14:06 +00:00
Laurent Vivier
5bfe6dfb97 add gestaltid 2004-10-07 09:09:58 +00:00
Laurent Vivier
581846611c remove bad comments 2004-10-07 09:07:51 +00:00
Laurent Vivier
4632db7477 add gestaltID 2004-10-07 09:06:43 +00:00
Laurent Vivier
e4acff8077 Add gestalt ID 2004-10-07 08:57:32 +00:00
Laurent Vivier
9cc98548dd Add SysError() 2004-08-18 23:17:17 +00:00
Laurent Vivier
8c80347126 check result of NewPtr and invoke SysError if needed 2004-08-18 23:14:55 +00:00
Laurent Vivier
49fe95e510 correct clear function 2004-08-18 23:08:44 +00:00
Laurent Vivier
5a5068cfb6 Add malloc_contiguous() 2004-07-12 21:32:44 +00:00
Laurent Vivier
0dfa8d7a35 Manage special case for Mac SE/30 2004-07-10 01:28:27 +00:00
Laurent Vivier
e671e2cdda ROMBase is a pointer to a pointer of short 2004-07-10 01:26:08 +00:00
Laurent Vivier
ef7ed24947 Enable serial console on request 2004-06-25 11:16:51 +00:00
Laurent Vivier
e40235b0ac use console mask to enable/disable vga and serial 2004-06-25 11:15:16 +00:00
Laurent Vivier
638011b914 add bitmask values of console_mask 2004-06-24 00:07:17 +00:00
Laurent Vivier
524e4e046b to allow serial console, move last printf before cache flush and interrupt disabling 2004-06-23 19:09:11 +00:00
Laurent Vivier
4898661e76 Remove unused TARGET_M68K, by the way correct the bad SCC info provided to kernel 2004-06-23 17:28:46 +00:00
Laurent Vivier
ff4ae42548 Correct bad hexadecimal display. bug #977860 2004-06-23 17:23:08 +00:00
Laurent Vivier
2c3eb0d244 don't use buffer 2004-06-22 22:59:20 +00:00
Laurent Vivier
edddd6d289 Add misc.h 2004-06-22 22:08:38 +00:00
Laurent Vivier
215fb2bebb Add __HEAD_H__ 2004-06-22 22:07:54 +00:00
Laurent Vivier
4567497a2f Add newline at end of error() 2004-06-22 22:07:08 +00:00
Laurent Vivier
a20db820ef Add serial_put() and serial_init() 2004-06-22 22:05:24 +00:00
Laurent Vivier
6f2e5fe02a rename console_* to vga_*, move header struct to head.h 2004-06-22 21:28:36 +00:00
Laurent Vivier
c07be85ed7 Add serial configuration information in header 2004-06-22 21:24:54 +00:00
Laurent Vivier
091a39a611 rename video graphic adapter function from console_* to vga_* 2004-06-22 21:24:22 +00:00
Laurent Vivier
cf424a74ea Add __MISC_H__ 2004-06-22 21:23:03 +00:00
Laurent Vivier
5db219863b Add vga.o 2004-06-22 21:22:08 +00:00
Laurent Vivier
a1d410914c move all stuff from console.[ch] to vga.[ch]. console is now the generic entry for video graphic adapter and serial adapter, configured with emile_l2_header 2004-06-22 21:21:32 +00:00
Laurent Vivier
c0894c3445 Move emile_l2_header definition from tools/emile-second.h to second/head.h 2004-06-22 21:19:48 +00:00
Laurent Vivier
6381f5a95a Add all needed stuff for serial port management 2004-06-21 22:42:21 +00:00
Laurent Vivier
d04f6b28a8 Add PBWriteSync 2004-06-21 22:41:30 +00:00
Laurent Vivier
f4679e1e67 Add serial.o 2004-06-21 22:41:00 +00:00
Laurent Vivier
df7b2625d1 Add string conversion function from C string to pascal string 2004-06-21 22:40:10 +00:00
Laurent Vivier
574e8bdd9d Serial port management 2004-06-21 22:39:25 +00:00
Laurent Vivier
39d225cfc7 Add PBOpenSync(), PBCloseSync(), PBControlSync() 2004-06-18 15:37:08 +00:00
Laurent Vivier
f7824ea209 correct relocation of enter_kernel() at end of kernel 2004-06-16 21:01:40 +00:00
Laurent Vivier
3d3d43c373 add check_full_in_bank() 2004-06-16 17:23:12 +00:00
Laurent Vivier
40876f5e73 Remove obsolete KERNEL_ARCH/TARGET_??? 2004-06-16 17:22:22 +00:00
Laurent Vivier
dd44e86f5e disable cache early (resolve bad ramdisk detection 2004-06-09 20:52:14 +00:00
Laurent Vivier
e56b1b94fd Add disable_cache() for 030 and 040 (new) 2004-06-09 17:34:40 +00:00
Laurent Vivier
97ac148b40 Add .chip directive 2004-06-09 12:24:24 +00:00
Laurent Vivier
ecfd051646 use copymem.i to copy kernel 2004-06-07 22:13:00 +00:00
Laurent Vivier
f71c1048cd put enter_kernel function at end of kernel image to avoid ovelaping 2004-06-07 18:52:31 +00:00
Laurent Vivier
f4ba7af2a5 Align memory allocation 2004-06-07 18:51:51 +00:00
Laurent Vivier
4132ea5993 align 2004-06-07 18:51:24 +00:00
Laurent Vivier
ecfa5bf4a9 Pass first level parameter in a structure 2004-06-04 22:29:43 +00:00
Laurent Vivier
7114efab5f use uncompressed size instead buffer size to find end of kernel to put boot info 2004-06-03 22:39:38 +00:00
Laurent Vivier
aedc975d9e return uncompressed size 2004-06-03 22:38:24 +00:00
Laurent Vivier
951e98d268 Pass booter info by args of start() 2004-06-03 19:30:26 +00:00
Laurent Vivier
ceb9864aed take kernel size from uncompress(), because _kernel_size from head.S is in fact a buffer size 2004-06-03 08:16:38 +00:00
Laurent Vivier
ac8cf01ea2 pass ramdisk image address by argument to bootinfo_init() 2004-06-03 08:11:23 +00:00
Laurent Vivier
e441c4b560 pass compress image address by argument to uncompress() and remove unneeded size 2004-06-03 08:02:41 +00:00
Laurent Vivier
2a2df578f3 change octal to hexadecimal, correct some warnings 2004-06-03 07:56:17 +00:00
Laurent Vivier
71ffdff25f add __attribute__ ((noreturn)) to error() 2004-06-03 07:54:56 +00:00
Laurent Vivier
3fb94f986f Set mmu type according to cpu type when gestalt() says noMMU 2004-06-02 21:11:21 +00:00
Laurent Vivier
35c022d25d 64bit support for tools 2004-06-02 17:39:10 +00:00
Laurent Vivier
4009f209f3 add misc.h for glue.h (for 64bit support) 2004-06-02 17:38:24 +00:00
Laurent Vivier
632dcb29bb define u_int8_t, int8_t, u_int16_t, int16_t, u_int32_t, int32_t for m68k 2004-06-02 17:37:06 +00:00
Laurent Vivier
5dbc36d650 floppy image is now built from several parts (first, second, kernel, ramdisk) with emile-install. Linker cannot provide kernel size and position anymore 2004-06-01 22:00:21 +00:00
Laurent Vivier
c814cb68e9 Enhance second stage header 2004-05-26 23:05:35 +00:00
Laurent Vivier
4e162a6fd7 load binary image from disk 2004-05-26 21:59:06 +00:00
Laurent Vivier
c680062e0c add memdump() 2004-05-26 21:41:20 +00:00
Laurent Vivier
7d8654276a Add PBReadSync() 2004-05-26 21:32:13 +00:00
Laurent Vivier
d795ed1334 move ParamBlockRec from tools/emile-first.h to second/glue.h 2004-05-26 21:29:16 +00:00
Laurent Vivier
2cc1e38203 move some stuff from head.S to main.c 2004-05-26 18:32:49 +00:00
Laurent Vivier
e8caeccc6b remove unneeded init of some variables to move it back to section bss 2004-05-25 23:30:31 +00:00
Laurent Vivier
607296c9d5 arch_init must be before init_memory_map, console_init can be the first call 2004-05-25 23:16:56 +00:00
Laurent Vivier
b7666960ce correct typo 2004-05-25 20:14:08 +00:00
Laurent Vivier
8b4036e0f5 Allocate and relocate section BSS 2004-05-25 20:12:52 +00:00
Laurent Vivier
cf8d13a76f Use absolute address to lowmem variables 2004-05-25 19:32:12 +00:00
Laurent Vivier
25aa3bb8ff Use MacOS memory Management 2004-05-25 19:30:23 +00:00
Laurent Vivier
e3780d21ef Make second level relocatable using -fpic and "GLOBAL_OFFSET_TABLE"
should be improved by using -mrelpc, but this flags is only supported by
gcc > 3.0 (and I use gcc 2.95)
2004-05-24 23:59:13 +00:00
Laurent Vivier
e839d9fc1f Allow to set kernel command line 2004-05-19 00:09:58 +00:00
Laurent Vivier
09a8205e86 Remove only first 32KB from allocatable memory 2004-05-11 23:09:45 +00:00
Laurent Vivier
f77ce55dad Display physical memory 2004-05-11 23:05:10 +00:00
Laurent Vivier
14cd3cd3cb I move to a debian box, and ls and awk have not the same path as on my
previous Mandrake box. I decide to remove absolute path.
2004-05-11 23:02:18 +00:00
Laurent Vivier
235a70d6f3 call 030 when 030, and 040 when 040, and not 030 when 040 and 040 when 030... 2004-03-06 01:29:27 +00:00
Laurent Vivier
3329589705 Add 68040 MMU support 2004-03-06 01:10:31 +00:00
Laurent Vivier
9b2dcff01f really disable MMU 2004-03-06 01:00:18 +00:00
Laurent Vivier
873dec41fc clean code 2004-03-06 00:25:37 +00:00
Laurent Vivier
1f262e1f13 OOOPSS, it's better if we take pointer of the address to write in on the stack, from the parameter of the function... 2004-03-06 00:24:50 +00:00
Laurent Vivier
123afc45d4 Add Transparent Translation management, read_physical() 2004-03-05 23:56:42 +00:00
Laurent Vivier
17077b6210 correct GET_TT_ENABLE 2004-03-05 23:55:54 +00:00
Laurent Vivier
cffb3524e0 really use BASE_ADDRESS 2004-03-05 22:56:01 +00:00
Laurent Vivier
2a58cfca3c First 040MMU support 2004-03-05 22:41:53 +00:00
Laurent Vivier
0b08124559 rename with MMU040_ 2004-03-05 22:39:51 +00:00
Laurent Vivier
c52af95a86 add 68040 MMU support skeleton 2004-03-04 22:50:11 +00:00
Laurent Vivier
233133127d produce 68030 AND 68040 objects 2004-03-04 22:47:46 +00:00
Laurent Vivier
ba5d1bc551 add 68040 MMU support 2004-03-04 22:47:09 +00:00
Laurent Vivier
7982826ab8 remove MMU.h, rename enter_kernel as enter_kernel030 2004-03-04 22:46:24 +00:00
Laurent Vivier
45c96c3f17 remove MMU.h 2004-03-04 22:42:22 +00:00
Laurent Vivier
015236a085 remove some files for second level for powerPC, move to third level 2004-02-26 23:43:42 +00:00
Laurent Vivier
fbfde9d37e More bus type info 2004-02-26 23:38:05 +00:00
Laurent Vivier
f133bfe8b7 add TARGET_M68K for vars 2004-02-26 23:37:16 +00:00
Laurent Vivier
ecba409961 prefix functions with MMU_ 2004-02-26 22:57:37 +00:00
Laurent Vivier
40ea3746d5 Manage noMMU and powerPC 2004-02-26 22:56:39 +00:00
Laurent Vivier
1e57642a54 Move machine identification (cpu, mmu, fpu, architecture, bus) to arch.[ch] 2004-02-26 22:55:30 +00:00
Laurent Vivier
8c135d08ac Add define noErr 2004-02-26 22:53:13 +00:00
Laurent Vivier
5189002b35 Identify machine in arch_init() 2004-02-26 22:52:35 +00:00
Laurent Vivier
af0d528190 Add a skeleton of powerPC support 2004-02-26 22:51:37 +00:00
Laurent Vivier
6b0cf6488a Add header 2004-02-26 22:29:31 +00:00
Laurent Vivier
0e8fa74829 add arch.o, and -DTARGET_PPC or -DTARGET_M68K 2004-02-26 20:12:01 +00:00
Laurent Vivier
ccbbb0f8e2 Use Gestalt() to know property of curring system, including powerPC or 680x0 native architecture type 2004-02-26 20:10:41 +00:00
Laurent Vivier
f18249968d Remove TRACE_MMU 2004-02-24 22:48:36 +00:00
Laurent Vivier
8af142b39a Get Time and GMT from MacOS 2004-02-24 22:31:18 +00:00
Laurent Vivier
ae643f5728 Add ReadLocation(MachineLocation) 2004-02-24 22:30:14 +00:00
Laurent Vivier
c72deaab9f Add Time to get time from MacOS 2004-02-24 22:29:27 +00:00
Laurent Vivier
ed6b726d10 Cleaning 2004-02-24 21:27:48 +00:00
Laurent Vivier
2d74aaa6c0 RAM disk address must be physical address 2004-02-23 23:51:45 +00:00
Laurent Vivier
9290c1f2d8 works with RBV mac ! thank you penguin... very messy: FIX ME ! 2004-02-23 23:34:39 +00:00
Laurent Vivier
c241af85f5 Add 3rd parameter to set destination address to copy kernel 2004-02-23 23:32:54 +00:00
Laurent Vivier
54daae231e create boot_info[].memory like in the penguin (bigger first, physical memory blocs) 2004-02-23 23:31:56 +00:00
Laurent Vivier
9cde1a908c let bank_dump() for debug purpose only, activate it with BANK_DUMP macro 2004-02-23 23:29:59 +00:00
Laurent Vivier
bca4f49b67 Add bank_mem_avail(): compute size of available memory 2004-02-23 00:24:05 +00:00
Laurent Vivier
1c384cf5c8 Try to allocate memory to not have a bloc across two banks, correct management of top memory, and low memory 2004-02-23 00:23:14 +00:00
Laurent Vivier
35639aff0c cosmetic change, remove disabling interrupts and cache:moved to caller 2004-02-23 00:21:36 +00:00
Laurent Vivier
cf5c0993a3 Disable interrupts, correct entry_t 2004-02-23 00:20:11 +00:00
Laurent Vivier
ccad19e151 re-add console_get_height() 2004-02-21 01:56:19 +00:00
Laurent Vivier
b08f2f1525 Add MMU_set_trace() 2004-02-21 01:52:51 +00:00
Laurent Vivier
91878eb9a5 reenable MMU desabling 2004-02-21 01:51:47 +00:00
Laurent Vivier
1f79567d4e add end_enter_kernel, unify a2/a0 2004-02-21 01:51:12 +00:00
Laurent Vivier
3680a14ac0 Add logical address to compute bank linits 2004-02-21 01:48:52 +00:00
Laurent Vivier
67195aad96 Add real video base address instead of computed one (with bounds) 2004-02-21 01:47:02 +00:00
Laurent Vivier
fcd67e5680 Try to boot on RBV system 2004-02-21 01:43:51 +00:00
Laurent Vivier
399815fc52 Correct bad table address evaluation 2004-02-21 01:21:41 +00:00
Laurent Vivier
610cf784a6 Add dynamic trace, TT registers management 2004-02-21 00:48:39 +00:00
Laurent Vivier
9bb63653bf Rename map to memory_map and export it 2004-02-19 13:09:41 +00:00
Laurent Vivier
09aa0fdf33 add bank.[ch], move memory bank management into them 2004-02-19 11:34:18 +00:00
Laurent Vivier
5a921fb7ad Correct typo 2004-02-17 22:55:06 +00:00
Laurent Vivier
6e77d82535 Add logical address in bank information 2004-02-17 22:52:33 +00:00
Laurent Vivier
3719ad81de correct computing of physical address 2004-02-17 22:09:18 +00:00
Laurent Vivier
e2a053b1ac correct LIMIT management in decode_8_PD() 2004-02-17 21:30:09 +00:00
Laurent Vivier
15cbea56f8 add TRACE(), correct Table Indices extraction in decode_[48]_PD() 2004-02-17 20:53:24 +00:00
Laurent Vivier
ca86a7f62c Add dump_MMU_table()
correct 8byte table scan
2004-02-17 10:30:42 +00:00
Laurent Vivier
7201e9b32e move call to get_memory_mep() to memory.c 2004-02-17 10:26:46 +00:00
Laurent Vivier
df44431502 export memory_map 2004-02-17 10:25:36 +00:00
Laurent Vivier
94fa7c429d we generate memory_map here 2004-02-17 10:23:55 +00:00
Laurent Vivier
cc5ae713a6 Move call of bootinfo_init after memory_init (use memory_map) 2004-02-17 10:09:14 +00:00
Laurent Vivier
11dd1c201c Initial revision 2004-02-15 20:46:45 +00:00