Commit Graph

4191 Commits

Author SHA1 Message Date
François Revol
14016c7ce9 Add some simplified structure definitions the way NetBSD does.
Implement cpu detection using Exec's AttnFlags.
Now panics a little later.

Note you need to tell UAE to emulate a 040 now (020 not supported) with -C4 to boot.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38956 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-12 10:11:04 +00:00
François Revol
0128537395 Cleanup leftover atari code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38954 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-12 09:12:59 +00:00
François Revol
7171eb5907 Actually it seems using HD ADF image is what is causing this issue with 6 sectors. Using DD images seems to work fine.
Fix panic(). Now panic() in _start.

To try it, do :

TARGET_BOOT_PLATFORM=amiga_m68k jam -j1 -q haiku_loader
dd if=/dev/zero of=haiku.adf count=1760
dd if=generated/objects/haiku/m68k/release/system/boot/haiku_loader of=haiku.adf conv=notrunc
uae -s floppy0=haiku.adf -s cpu_type=68020/68881 -s chipmem_size=8 -i


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38952 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-12 00:20:53 +00:00
François Revol
52d6ea00ea Adapt the putx routine from atari code to update the string for the alert with a code. Use it to indicate remaining sectors to read on error.
It seems DoIO() fails after 6 sectors. Could it have something to do with side handling ? I hope I won't have to dig trackdisk.device specific stuff...
Anyway even with 6 sectors read, the boot code now calls _start() successfully. Use _floppy_err_alert() to assert this until the copying is fixed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38951 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-11 23:33:01 +00:00
Philippe Houdoin
89fa2a8573 Move the boot images conditional selection in one place, to remove
possible mismatch images info between loader and kernel.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38947 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-11 12:54:21 +00:00
François Revol
7ddba3d2ad s/amicalls/rom_calls/
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38944 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-10 20:44:33 +00:00
François Revol
4543fd0ef6 Define the needed Library Vector Offsets in the header and use them from the asm.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38943 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-10 20:41:41 +00:00
François Revol
396a612a64 Better error codes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38942 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-10 20:27:46 +00:00
François Revol
1d4497a8f6 The Coding Style Police is much more efficient than the HADOPI...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38941 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-10 20:18:07 +00:00
François Revol
aed95f3c6c Also checksum the bootsector in the Atari version of haiku_loader.
Remove duplicate of the checksum tool.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38939 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-10 18:28:07 +00:00
François Revol
06abf33747 Add a rule to checksum the bootblock inside haiku_loader for Amiga. It seems Jam correctly runs the action after creating the file, though I'm not sure it's correct with respect to jam -j.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38938 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-10 18:19:02 +00:00
Oliver Tappe
72cf60a534 * replace glibc-base wcwidth() and wcswidth() with the one from
Bruno Haible's libunistring, which seems to work just fine

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38936 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-10 17:49:09 +00:00
François Revol
398144a1b4 We don't need dos.library here.
Open intuition.library correctly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38935 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-10 16:14:58 +00:00
François Revol
3b939cb0b6 Comment out atari stuff.
Initialize SysBase and IntuitionBase that will be needed by C++ code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38933 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-10 14:18:05 +00:00
François Revol
918ac85f32 Comment out atari stuff.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38932 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-10 14:15:10 +00:00
François Revol
816efc4097 Seems gas doesn't like the syntax from the syscall macros, prefixing a6 with %% helps. Add some Exec calls and the Intuition call needed for panic().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38931 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-10 14:14:41 +00:00
François Revol
788565c49a Copy the Atari bootloader ldscript.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38930 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-10 14:10:49 +00:00
François Revol
7030ac1279 Library call macros from fd2pragma Include/inline/macros.h. The header has no copyright claims, and there is no point in rewriting this anyway.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38929 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-10 13:29:27 +00:00
François Revol
7364eb8e9b Remove Atari stuff.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38928 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-10 13:15:39 +00:00
François Revol
648d00c49c Those are C++ files now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38927 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-10 13:15:16 +00:00
François Revol
fb6b9ae341 Remove Commodore code and rewrite. Hate wasting time on this...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38926 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-10 13:03:19 +00:00
François Revol
6ed98199f1 Amiga is just an Atari clone :-P
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38925 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-10 12:42:18 +00:00
François Revol
acb1d6c8e0 s/tos/ami/g;s/ATARI/AMIGA/g
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38924 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-10 11:27:52 +00:00
François Revol
2231a4e6a3 Copy some more from Atari.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38923 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-10 11:22:50 +00:00
François Revol
9c720d59e3 Copy Handle stuff from Atari.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-10 11:20:55 +00:00
François Revol
4ae92968ab Stub out some more of the platform code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38921 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-10 11:16:46 +00:00
François Revol
1ae25236b2 Some useful Amiga API definitions. We'll just stuff what we need in there from all the SDK headers. More to come.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38920 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-10 11:09:51 +00:00
François Revol
b780f56676 Add some amiga code from stage1.S.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-10 11:07:14 +00:00
François Revol
92d1f05e9a Cleanup. Some more tries.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38918 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-10 11:05:05 +00:00
François Revol
f3ab95c889 Fix ROM base. On Amiga the first page is a bit special but it should still be mapped at boot time. Will need more checks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38917 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-10 11:04:25 +00:00
François Revol
12760a5cc9 Copy the Atari memory map for Amiga.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38916 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-10 09:23:09 +00:00
François Revol
7fbfbc1dac Cleanup. Offsets were wrong for dos.library.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38914 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-10 02:00:14 +00:00
François Revol
948720fa91 cpu-specific mmu files are in arch/m68k now. Remove leftover atari prg stuff.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38913 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-10 01:04:36 +00:00
François Revol
ca7ec01422 Use cpu-specific mmu code from arch/m68k.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38911 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-09 23:38:09 +00:00
François Revol
33c4ca7e1d The mmu code is almost not platform specific. Copy it to arch/m68k for now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38910 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-09 22:03:37 +00:00
François Revol
2830084019 More tries at doing something useful in the boot sector... For now it displays a welcome message.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38909 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-09 21:38:50 +00:00
François Revol
646e14e5e9 Clone the atari shell code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38908 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-09 20:57:39 +00:00
François Revol
408aa82a13 Fix comment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38906 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-09 20:55:01 +00:00
Philippe Houdoin
20e654cab0 unsetenv() should remove *any* occurence of name=value.
As with putenv() both value and name can be modified afterwise in our 
back, multiple occurence of the same name is a possibility.
Fix #6706. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38904 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-09 09:09:01 +00:00
Philippe Houdoin
5b2ed54046 Fix the fix: sleep() should return *remaining* seconds.
Closed #6707.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38903 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-09 08:28:46 +00:00
Philippe Houdoin
82539c6155 sleep() remaining time was returned in microsecond, not second.
Fix #6707.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38902 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-09 07:19:41 +00:00
Axel Dörfler
c5e2c3ec4d * Fixed a bug that would cause allocate_page_run() to be called with an out of
bounds index - the system would overwrite memory then and eventually KDL.
  This could best be reproduced with overlays after a while.
* Added a TODO comment that explains why free_cached_pages() might fail even
  though the page is actually free now.
* Added an explanation of how the sFreePageQueuesLock is to be used, thanks to
  Ingo for explaining it to me in the first place :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38895 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-08 07:40:42 +00:00
Philippe Houdoin
64141b1b74 Enable development splash logo for "official" --distro_compatibility.
The official release one stay the well-known one, just renamed to show it's trademarked images.
Fixed #6183.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38891 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-05 10:31:13 +00:00
Scott McCreary
e86eb77b1b Patch from kaliber to a the glibc strtold implentation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38710 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-18 16:42:59 +00:00
Oliver Tappe
6a5dacaa3c part1 of fixing #6599:
* protect against invocations of ctype-macros/-functions with negative
  character indices by mirroring the corresponding values at negative
  array indices (the legal access range of __ctype_b is now [-128..255])


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38708 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-18 15:55:42 +00:00
Oliver Tappe
338ddd836f Closing #6499:
* add missing getsubopt() POSIX-function
* added corresponding test


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38650 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-14 18:43:24 +00:00
Oliver Tappe
86932f41cc Try to fix #6581:
* avoid trying to overwrite values of a constant structure when
  updating the numeric locale data values used by glibc


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38623 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-12 17:24:38 +00:00
Oliver Tappe
ccee6057f0 * fix wrong signedness in values put into global 'timezone' variable,
the POSIX specs are a bit vague on this (to say the least)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38606 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-11 18:34:48 +00:00
Fredrik Holmqvist
01f964efeb Introduce a gSystemShutdown flag to be able to check if system is shutting down. ACPI Embedded Controller now uses polling when it is set to true.
This might help with ACPI shutdown issues, if not this change can be reverted. Not verified as it works on all my machines even without this.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38585 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-08 19:19:49 +00:00
Andreas Färber
3243de5750 boot_loader_openfirmware: Add iSCSI boot support
If no Haiku remote disk server is found, try an iSCSI discovery session on
the TFTP server, using the IP address from the boot command or OF options.
All available IPv4 targets are considered, Target Portal Groups are ignored.

RFC 4173 suggests a mechanism that avoids a discovery session by using DHCP;
that requires a compatibly configured DHCP server though and we wouldn't have
access to such data currently anyway. iSCSI is currently used as fallback,
and when it doesn't succeed it falls back to the menu as before.

Resolves ticket #5319.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38537 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-05 22:56:22 +00:00