#include <sys/shm.h>
#endif
+#if defined(CONFIG_DARWIN)
+#include <sys/types.h>
+#include <sys/ipc.h>
+#include <sys/shm.h>
+#endif
+
#include "mloop_event.h"
MULTI_DEBUG_CHANNEL(qemu, main);
#define LOGFILE "emulator.log"
#define LCD_WIDTH_PREFIX "width="
#define LCD_HEIGHT_PREFIX "height="
-
#define MIDBUF 128
int tizen_base_port;
free(shared_memory);
#elif defined(CONFIG_DARWIN)
/* TODO: */
+ int shmid;
+ char *shared_memory;
+
+ shmid = shmget((key_t)SHMKEY, MAXLEN, 0666|IPC_CREAT);
+ if (shmid == -1) {
+ ERR("shmget failed\n");
+ return;
+ }
+ shared_memory = shmat(shmid, (char *)0x00, 0);
+ if (shared_memory == (void *)-1) {
+ ERR("shmat failed\n");
+ return;
+ }
+ sprintf(shared_memory, "%d", get_sdb_base_port() + 2);
+ INFO("shared memory key: %d, value: %s\n", SHMKEY, (char *)shared_memory);
+ shmdt(shared_memory);
#endif
return;
}
#define MAXLEN 512
#define MAXPACKETLEN 60
-
+#define SHMKEY 26099
extern char tizen_target_path[MAXLEN];
void exit_emulator(void);
#include "debug_ch.h"
#ifdef USE_SHM
+#include "emulator.h"
+#include <sys/types.h>
+#include <sys/ipc.h>
#include <sys/shm.h>
#endif
+#ifdef USE_SHM
+void *shared_memory = (void*)0;
+#endif
+
MULTI_DEBUG_CHANNEL(qemu, maru_vga);
#define MARU_VGA
-#ifdef USE_SHM
-/* shared memory */
-void *shared_memory = (void*)0;
-int shmid;
-#endif
-
-
static const uint32_t mask16[16] = {
PAT(0x00000000),
PAT(0x000000ff),
vga_dirty_log_start(s);
#ifdef USE_SHM
- int mykey = getuid();
+ int mykey;
+ void *temp;
+ int shmid;
+
+ shmid = shmget((key_t)SHMKEY, (size_t)MAXLEN, 0666 | IPC_CREAT);
+ if (shmid == -1) {
+ ERR( "shmget failed\n");
+ perror("maru_vga: ");
+ exit(1);
+ }
+
+ temp = shmat(shmid, (char*)0x0, 0);
+ if (temp == (void *)-1) {
+ ERR( "shmat failed\n");
+ perror("maru_vga: ");
+ exit(1);
+ }
+ mykey = atoi(temp);
+ shmdt(temp);
+ INFO("shared memory key: %d, ram_size : %d\n", mykey, vga_ram_size);
shmid = shmget((key_t)mykey, (size_t)vga_ram_size, 0666 | IPC_CREAT);
if (shmid == -1) {
- fprintf(stderr, "shmget failed\n");
+ ERR( "shmget failed\n");
+ perror("maru_vga: ");
exit(1);
}
-
+
shared_memory = shmat(shmid, (void*)0, 0);
if (shared_memory == (void *)-1) {
- fprintf(stderr, "shmat failed\n");
+ ERR( "shmat failed\n");
+ perror("maru_vga: ");
exit(1);
}
+ memset(shared_memory, 0x00, (size_t)vga_ram_size);
printf("Memory attached at %X\n", (int)shared_memory);
#endif
#include <sys/shm.h>
#include "org_tizen_emulator_skin_EmulatorShmSkin.h"
+#define MAXLEN 512
+#define SHMKEY 26099
void *shared_memory = (void *)0;
int shmid;
JNIEXPORT jint JNICALL Java_org_tizen_emulator_skin_EmulatorShmSkin_shmget
(JNIEnv *env, jobject obj, jint vga_ram_size)
{
- int mykey = getuid();
+ void *temp;
+ int keyval;
+ shmid = shmget((key_t)SHMKEY, (size_t)MAXLEN, 0666 | IPC_CREAT);
+ if (shmid == -1) {
+ fprintf(stderr, "Share.c: shmget failed\n");
+ exit(1);
+ }
+
+ temp = shmat(shmid, (char*)0x0, 0);
+ if (temp == (void *)-1) {
+ fprintf(stderr, "Share.c: shmat failed\n");
+ exit(1);
+ }
+ keyval = atoi(temp);
+ shmdt(temp);
- shmid = shmget((key_t)mykey, (size_t)vga_ram_size, 0666 | IPC_CREAT);
+ shmid = shmget((key_t)keyval, (size_t)vga_ram_size, 0666 | IPC_CREAT);
if (shmid == -1) {
return 1;
}