Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
31e46290
Commit
31e46290
authored
Dec 10, 2002
by
Steven Edwards
Committed by
Alexandre Julliard
Dec 10, 2002
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Alpha porting fixes.
parent
2cd4ed2e
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
125 additions
and
0 deletions
+125
-0
basetsd.h
include/basetsd.h
+4
-0
winnt.h
include/winnt.h
+121
-0
No files found.
include/basetsd.h
View file @
31e46290
...
...
@@ -135,6 +135,10 @@ typedef ULONG_PTR SIZE_T, *PSIZE_T;
# define WORDS_BIGENDIAN
# define BITFIELDS_BIGENDIAN
# undef ALLOW_UNALIGNED_ACCESS
#elif defined(__ALPHA__)
# define WORDS_LITTLEENDIAN
# define BITFIELDS_LITTLEENDIAN
# undef ALLOW_UNALIGNED_ACCESS
#elif !defined(RC_INVOKED)
# error Unknown CPU architecture!
#endif
...
...
include/winnt.h
View file @
31e46290
...
...
@@ -1111,6 +1111,96 @@ typedef struct _STACK_FRAME_HEADER
#endif
/* __PPC__ */
#ifdef __ALPHA__
/*
* FIXME:
*
* I have no idea if any of this is right as I just ripped
* it from mingw-win32api.
*
*/
#define CONTEXT_ALPHA 0x20000
#define CONTEXT_CONTROL (CONTEXT_ALPHA|1L)
#define CONTEXT_FLOATING_POINT (CONTEXT_ALPHA|2L)
#define CONTEXT_INTEGER (CONTEXT_ALPHA|4L)
#define CONTEXT_FULL (CONTEXT_CONTROL|CONTEXT_FLOATING_POINT|CONTEXT_INTEGER)
typedef
struct
_CONTEXT
{
ULONGLONG
FltF0
;
ULONGLONG
FltF1
;
ULONGLONG
FltF2
;
ULONGLONG
FltF3
;
ULONGLONG
FltF4
;
ULONGLONG
FltF5
;
ULONGLONG
FltF6
;
ULONGLONG
FltF7
;
ULONGLONG
FltF8
;
ULONGLONG
FltF9
;
ULONGLONG
FltF10
;
ULONGLONG
FltF11
;
ULONGLONG
FltF12
;
ULONGLONG
FltF13
;
ULONGLONG
FltF14
;
ULONGLONG
FltF15
;
ULONGLONG
FltF16
;
ULONGLONG
FltF17
;
ULONGLONG
FltF18
;
ULONGLONG
FltF19
;
ULONGLONG
FltF20
;
ULONGLONG
FltF21
;
ULONGLONG
FltF22
;
ULONGLONG
FltF23
;
ULONGLONG
FltF24
;
ULONGLONG
FltF25
;
ULONGLONG
FltF26
;
ULONGLONG
FltF27
;
ULONGLONG
FltF28
;
ULONGLONG
FltF29
;
ULONGLONG
FltF30
;
ULONGLONG
FltF31
;
ULONGLONG
IntV0
;
ULONGLONG
IntT0
;
ULONGLONG
IntT1
;
ULONGLONG
IntT2
;
ULONGLONG
IntT3
;
ULONGLONG
IntT4
;
ULONGLONG
IntT5
;
ULONGLONG
IntT6
;
ULONGLONG
IntT7
;
ULONGLONG
IntS0
;
ULONGLONG
IntS1
;
ULONGLONG
IntS2
;
ULONGLONG
IntS3
;
ULONGLONG
IntS4
;
ULONGLONG
IntS5
;
ULONGLONG
IntFp
;
ULONGLONG
IntA0
;
ULONGLONG
IntA1
;
ULONGLONG
IntA2
;
ULONGLONG
IntA3
;
ULONGLONG
IntA4
;
ULONGLONG
IntA5
;
ULONGLONG
IntT8
;
ULONGLONG
IntT9
;
ULONGLONG
IntT10
;
ULONGLONG
IntT11
;
ULONGLONG
IntRa
;
ULONGLONG
IntT12
;
ULONGLONG
IntAt
;
ULONGLONG
IntGp
;
ULONGLONG
IntSp
;
ULONGLONG
IntZero
;
ULONGLONG
Fpcr
;
ULONGLONG
SoftFpcr
;
ULONGLONG
Fir
;
DWORD
Psr
;
DWORD
ContextFlags
;
DWORD
Fill
[
4
];
}
CONTEXT
;
#endif
/* __ALPHA__ */
#ifdef __sparc__
/*
...
...
@@ -1296,6 +1386,37 @@ static DWORD __builtin_return_address(int p_iDepth)
#endif
/* __PPC__ */
#ifdef __ALPHA__
/* FIXME:
* use getcontext() to retrieve full context
* I dont know if this is correct for alpha as was ripped from
* PPC support.
*/
#define _GET_CONTEXT \
CONTEXT context; \
do { memset(&context, 0, sizeof(CONTEXT)); \
context.ContextFlags = CONTEXT_CONTROL; \
} while (0)
#define DEFINE_REGS_ENTRYPOINT_0( name, fn ) \
void WINAPI name ( void ) \
{ _GET_CONTEXT; fn( &context ); }
#define DEFINE_REGS_ENTRYPOINT_1( name, fn, t1 ) \
void WINAPI name ( t1 a1 ) \
{ _GET_CONTEXT; fn( a1, &context ); }
#define DEFINE_REGS_ENTRYPOINT_2( name, fn, t1, t2 ) \
void WINAPI name ( t1 a1, t2 a2 ) \
{ _GET_CONTEXT; fn( a1, a2, &context ); }
#define DEFINE_REGS_ENTRYPOINT_3( name, fn, t1, t2, t3 ) \
void WINAPI name ( t1 a1, t2 a2, t3 a3 ) \
{ _GET_CONTEXT; fn( a1, a2, a3, &context ); }
#define DEFINE_REGS_ENTRYPOINT_4( name, fn, t1, t2, t3, t4 ) \
void WINAPI name ( t1 a1, t2 a2, t3 a3, t4 a4 ) \
{ _GET_CONTEXT; fn( a1, a2, a3, a4, &context ); }
#endif
/* __ALPHA__ */
#ifndef DEFINE_REGS_ENTRYPOINT_0
#error You need to define DEFINE_REGS_ENTRYPOINT macros for your CPU
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment