Fixed swapping functions.

BFS now validates the superblock and the boot menu now lists the image if I force checking for kernel_x86. \o/


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23626 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
François Revol
2008-01-19 02:11:46 +00:00
parent 46cb5cfdd3
commit d296c4e1f9
+19 -17
View File
@@ -11,9 +11,12 @@
*/
FUNCTION(__swap_int16):
moveq.l #0,%d0
move.b (5,%a7),%d0
/* 32-bit aligned stack! */
move.l (4,%a7),%d1
move.b %d1,%d0
lsr.w #8,%d1
lsl.w #8,%d0
move.b (4,%a7),%d0
move.b %d1,%d0
rts
@@ -22,11 +25,11 @@ FUNCTION(__swap_int16):
FUNCTION(__swap_int32):
/* moveq.l #0,%d0*/
move.b (7,%a7),%d0
lsl.w #8,%d0
lsl.l #8,%d0
move.b (6,%a7),%d0
lsl.w #8,%d0
lsl.l #8,%d0
move.b (5,%a7),%d0
lsl.w #8,%d0
lsl.l #8,%d0
move.b (4,%a7),%d0
rts
@@ -35,22 +38,21 @@ FUNCTION(__swap_int32):
*/
FUNCTION(__swap_int64):
/* moveq.l #0,%d0*/
move.b (7,%a7),%d0
lsl.w #8,%d0
move.b (6,%a7),%d0
lsl.w #8,%d0
move.b (5,%a7),%d0
lsl.w #8,%d0
move.b (4,%a7),%d0
move.l %d0,(%a0)
move.b (7,%a7),%d1
lsl.l #8,%d1
move.b (6,%a7),%d1
lsl.l #8,%d1
move.b (5,%a7),%d1
lsl.l #8,%d1
move.b (4,%a7),%d1
/**/
move.b (11,%a7),%d0
lsl.w #8,%d0
lsl.l #8,%d0
move.b (10,%a7),%d0
lsl.w #8,%d0
lsl.l #8,%d0
move.b (9,%a7),%d0
lsl.w #8,%d0
lsl.l #8,%d0
move.b (8,%a7),%d0
move.l %d0,(4,%a0)
rts