Commit Graph

21679 Commits

Author SHA1 Message Date
François Revol
14fbb88f10 stubbed out makebootable for atari. It should be doable the same way as on x86, but the emulator doesn't scan hdds for bootsector.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26106 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-23 15:52:44 +00:00
François Revol
c9a9fe0f74 enable arch specific config manager, to allow hardcoding devices.
On x86 we might want to publish isa devices like PS/2 ports if they aren't found via ACPI.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26105 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-23 15:37:30 +00:00
François Revol
7e60c269dc m68k runtime loader code, not sure it works.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26103 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-23 15:31:51 +00:00
François Revol
ee679412f7 Add missing s_fabs* from glibc-2.3.5.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26102 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-23 15:21:05 +00:00
François Revol
94b31b08db Don't check for not-intel when you mean ppc!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26101 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-23 14:13:42 +00:00
François Revol
b9f1ded35e revert to a simple counter for system_time, using _hz_200 seems to get it stuck.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26100 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-23 13:35:27 +00:00
François Revol
b45b3d7dcb - move prg ldscript where it belongs.
- added rule for boot .prg, no need to do it by hand :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26099 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-23 13:32:28 +00:00
François Revol
a85b351d4e Use the x86 kernel.ld as model instead of ppc. Thsi makes kernel_m68k link \o/
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26098 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-23 11:01:46 +00:00
Axel Dörfler
45a237d7f4 * Changed Vnode to be more flexible to use, and reduced its memory footprint
a bit.
* This also fixes a bug Salvatore pointed me to: Vnode would also call
  put_vnode() on destruction if get_vnode() failed earlier.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26097 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-23 09:55:04 +00:00
François Revol
1fd024be6a - missing ppc stub
- kernel_m68K almost links now, jsut bails out on the linker script...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26096 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-23 03:28:18 +00:00
François Revol
38ff098d80 Just return ok and be done with it, we can just ignore it for the time being.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26095 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-23 01:57:02 +00:00
François Revol
f0c5a3da4b - Add missing globals
- stubbed commpage stuff.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26094 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-23 01:54:18 +00:00
François Revol
826e403de5 Stubbed commpage stuff for ppc. Someone writeme please...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26093 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-23 01:53:36 +00:00
François Revol
4237dbd0fc kernel compiles but doesn't link yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26092 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-23 01:23:16 +00:00
Rene Gollent
4079af86ca gcc4 build fixes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26091 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-23 00:54:54 +00:00
François Revol
7f0e4c8577 move cpu-specific objects out of source list to other objects list.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26090 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-23 00:23:40 +00:00
François Revol
30629f410c - move atari platform subclass to platform/atari_m68k/
- fix exception handling, at least it builds now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26089 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-23 00:16:23 +00:00
François Revol
c21157b9cb Change to C++ (shrug :p)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26088 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-23 00:00:39 +00:00
François Revol
4b8885d500 Missing include.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-22 21:35:23 +00:00
François Revol
1654ce1468 - Add some useful TOS variables.
- Spice up cpu and machine detection.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26086 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-22 21:23:36 +00:00
Rene Gollent
fa83a2a121 These files were in CR/LF newline format for some reason.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26084 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-22 19:49:08 +00:00
Michael Lotz
6cf7524447 Add comment explaining the reason for retrying capacity reads.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26083 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-22 18:32:02 +00:00
Michael Lotz
27b95d52b8 Impose a one second timeout on all usb_disk data transfers. This should avoid
hanging systems on boot, but probably just hides a problem somewhere else, as
the transfers should timeout on their own if the device doesn't respond.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26082 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-22 15:07:49 +00:00
Michael Lotz
717b5b78ce Retry reading the capacity up to three times. The first try might only yield a
unit attention telling us that the device or media status changed, which is
expected.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26081 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-22 15:02:35 +00:00
Michael Lotz
57e81ac7d8 Properly initialize the device_hooks in the null and console drivers to include
the select/deselect/readv/writev hooks. Not that it would matter as the static
memory there is cleared to 0 anyway.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26080 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-22 13:37:08 +00:00
Michael Lotz
a47ceb2aec * Only set the select hook on the device module if we actually got a select
hook from the legacy driver.
* Add note explaining why it is set to an arbitrary invalid value (~0) and why
  it still works by redirecting in the virtual Select() of LegacyDevice.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26079 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-22 13:30:56 +00:00
David McPaul
d1b297a928 Implement FindKeyFrame
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26078 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-22 06:38:56 +00:00
David McPaul
bd9b4bd9d1 Implement FindKeyFrame
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26077 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-22 06:38:35 +00:00
David McPaul
1a1204316a Implement FindKeyFrame
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26076 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-22 06:38:04 +00:00
Michael Lotz
61ed28ee13 * All drawing modes except for B_OP_COPY should respect transparent pixels in
source bitmaps. The destination is preserved now when encountering such
  transparent pixels in the source bitmaps.
* B_OP_ERASE is supposed to replace with the low color whereever a source
  bitmap has a non-transparent pixel.
* The B_OP_MIN and B_OP_MAX drawing modes are supposed to select either the
  source or destination pixel based on their brightness, not combine the two
  pixels' color components into a new pixel. The brightness_for() function is
  taken from ColorConversion.cpp in the interface kit. Probably a simpler
  algorithm would do as well.
* Handle B_TRANSPARENT_MAGIC_* in all cases when drawing bitmaps with non-alpha
  source bitmaps, as all modes except B_OP_COPY are sensitive to transparency.

This should make all drawing modes behave as documented in the BeBook. Except
for B_OP_SELECT, which seems broken under R5, the results compare nicely now.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26075 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-22 02:34:15 +00:00
Michael Lotz
3d75dfbb4a Adding a DrawingModes test application that uses the different drawing modes
to draw a bitmap and a B_MIXED_COLORS pattern. This shows that most of the
Haiku drawing modes are off of what the BeBook documents them to be and also
shows that B_OP_SELECT is actually broken under R5.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26074 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-22 02:18:16 +00:00
François Revol
35471ac53e - add fpu states
- add needed asm_offsets
- start of exception handling


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26073 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-22 01:36:52 +00:00
Michael Lotz
00c81869c5 Fix obviously swapped if statement checking for a solid pattern.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-21 23:51:37 +00:00
François Revol
ffa2f65116 Let's use asm offset instead of hardcoded values...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26070 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-21 23:41:36 +00:00
Ingo Weinhold
0b4dac74e0 * Added kernel tracing for insertion and removal of cache pages (tracing
level 2).
* merge_cache_with_only_consumer() marked the source cache unbusy when
  it was done, which caused a race condition with the page fault code.
  I accidentally introduced this problem in r25716. Fixes #2326.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26068 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-21 21:08:07 +00:00
Michael Lotz
efec339946 Take the source alpha into account when doing a B_OP_INVERT so that drawing
bitmaps in B_OP_INVERT mode does not affect pixels where the source bitmap
was transparent, as noted in the BeBook. Not really sure I'm doing that right
though and probably needs looking into for B_OP_ERASE and B_OP_SELECT too.
Fixes bug #2421 though.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-21 19:38:56 +00:00
Stephan Aßmus
50450a0053 Implemented an AudioReader subclass "AudioVolumeConverter" which applies
a volume to the audio data. It ramps between a previous and the current volume
if necessary to smooth out the changes. The volume slider functionality is
thereby restored.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26066 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-21 18:15:48 +00:00
Michael Lotz
bdc47b1f97 Remove transparent magic handling for B_CMAP8, ImportBits() takes care of that already.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26065 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-21 14:48:06 +00:00
Michael Lotz
f24652cba6 Fix two wrong debug output messages and add one for AS_SYNC.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26063 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-21 13:45:58 +00:00
Stephan Aßmus
4e913061bb Make the buffer latency less agressive for Haiku, this makes audio playback
perfect in Haiku for me (HD Audio), while it adds a very noticable latency.
On C-Media, the difference between "policy 4" and "policy 5" is 2048 versus
32768 bytes, which is 16 times the latency. I added a note on why the same
policy on Haiku might give me troubles (C-Media versus HD Audio means
16 bits/sample versus 32 bits/sample) and if OSS does not double the buffer
size then I can see where the trouble is comming from. I should probably
figure out a more fine grained way of influencing the driver buffer size.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-21 13:13:21 +00:00
François Revol
2e314c0993 Fix build for Haiku.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26061 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-21 12:49:56 +00:00
Stephan Aßmus
773ead235b Added note about the remaining playback problem for using OSS in BeOS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-21 12:19:55 +00:00
Stephan Aßmus
d3ebd7843a Victory! With these changes, playback is nearly perfect under BeOS (tested with
C-Media based sound card). In Haiku, I could test with HD Audio, and playback
has clicks. It doesn't seem to have to do with the "drift", which is now
correctly published, I am not sure what exactly is causing it, I would like to
test on different hardware yet.
* I have modified the buffering policy (4 will give about 2048 bytes internal
  OSS buffer), which decreases the latency of the node to an acceptable value.
* I completely replaced the timesource publishing algo to be more reliable.
* Removed now unnecessary methods from OpenSoundDeviceEngine.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26059 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-21 12:14:26 +00:00
François Revol
1f5afb2e36 Add to the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-21 12:12:17 +00:00
Stephan Aßmus
188ba2f72a * SetTarget((BView*)NULL) needs to unset the previous target's pointer to
the scrollbar.
* Added notes about BeOS behavior to SetTarget(const char*).
* Reuse SetTarget(NULL) in the destructor.
* Initialize fTarget and fTargetName in the archive constructor.
* Added TODO about possibly restoring the target in the archive constructor.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26057 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-21 08:39:14 +00:00
François Revol
1e4285015c Better handle incorrect io ranges, it should only be fixed for PC (around 0x3f0).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26055 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-21 00:35:07 +00:00
François Revol
71c84a02ee Rename floppy target to pc_floppy, add to the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26053 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-20 23:14:18 +00:00
François Revol
476618a00e Move the floppy driver to disk/floppy/pc_floppy, it will be named pc_floppy, as it handles PC-style controllers, but not only PCs have those, so it doesn't belong to arch anymore.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26052 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-20 23:05:19 +00:00
François Revol
01cf5d4907 Prepare for move.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26051 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-20 23:01:16 +00:00
François Revol
8942de6c0d Make the floppy driver buildable again... even under Haiku.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26050 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-20 22:58:15 +00:00