ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

cpu_ppc.c
Go to the documentation of this file.
00001 /*
00002  * File cpu_ppc.c
00003  *
00004  * Copyright (C) 2009-2009, Eric Pouech.
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Lesser General Public
00008  * License as published by the Free Software Foundation; either
00009  * version 2.1 of the License, or (at your option) any later version.
00010  *
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Lesser General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Lesser General Public
00017  * License along with this library; if not, write to the Free Software
00018  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00019  */
00020 
00021 #include <assert.h>
00022 
00023 #include "ntstatus.h"
00024 #define WIN32_NO_STATUS
00025 #include "dbghelp_private.h"
00026 #include "winternl.h"
00027 #include "wine/debug.h"
00028 
00029 WINE_DEFAULT_DEBUG_CHANNEL(dbghelp);
00030 
00031 static unsigned ppc_get_addr(HANDLE hThread, const CONTEXT* ctx,
00032                              enum cpu_addr ca, ADDRESS64* addr)
00033 {
00034    switch (ca)
00035     {
00036 #if defined(__powerpc__)
00037     case cpu_addr_pc:
00038         addr->Mode    = AddrModeFlat;
00039         addr->Segment = 0; /* don't need segment */
00040         addr->Offset  = ctx->Iar;
00041         return TRUE;
00042 #endif
00043     default:
00044     case cpu_addr_stack:
00045     case cpu_addr_frame:
00046         FIXME("not done\n");
00047     }
00048     return FALSE;
00049 }
00050 
00051 static BOOL ppc_stack_walk(struct cpu_stack_walk* csw, LPSTACKFRAME64 frame, CONTEXT* context)
00052 {
00053     FIXME("not done\n");
00054     return FALSE;
00055 }
00056 
00057 static unsigned ppc_map_dwarf_register(unsigned regno)
00058 {
00059     FIXME("not done\n");
00060     return 0;
00061 }
00062 
00063 static void* ppc_fetch_context_reg(CONTEXT* ctx, unsigned regno, unsigned* size)
00064 {
00065     FIXME("NIY\n");
00066     return NULL;
00067 }
00068 
00069 static const char* ppc_fetch_regname(unsigned regno)
00070 {
00071     FIXME("Unknown register %x\n", regno);
00072     return NULL;
00073 }
00074 
00075 DECLSPEC_HIDDEN struct cpu cpu_ppc = {
00076     IMAGE_FILE_MACHINE_POWERPC,
00077     4,
00078     CV_REG_NONE, /* FIXME */
00079     ppc_get_addr,
00080     ppc_stack_walk,
00081     NULL,
00082     ppc_map_dwarf_register,
00083     ppc_fetch_context_reg,
00084     ppc_fetch_regname,
00085 };

Generated on Sun May 27 2012 04:23:20 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.