Exemplo n.º 1
0
int main(int argc, char **argv) {
    void *m1 = malloc(50);  // should allocate 64 bytes
    void *m2 = malloc(100); // should allocate 128 bytes
    free(m1);
    dump_memory_map();
    void *m3 = malloc(56);  // should allocate 64 bytes
    void *m4 = malloc(11);  // should allocate 32 bytes
    free(m3);
    void *m5 = malloc(30);  // should allocate 64 bytes
    void *m6 = malloc(120); // should allocate 128 bytes
    free(m2);
    return 0;
}
Exemplo n.º 2
0
/**************************************************************************
* Used for multitasking debugging.
***************************************************************************/
void shell( s32int argc, char **argv){

	// Shell command buffer
	s08int cmd[256];
	s32int i;

	// Reset the command buffer
	memset08(cmd, 0, 256);

	// Command line
	while(TRUE) {
		kprintf(SHELL_PROMPT);

		scanf("%s", cmd);

		for(i = 0; i < SHELL_COMMANDS; i++) {
			// Parse the command
			if ( strncmp(cmd, commands[i].name, strlen(commands[i].name))==0 ) {
				if (*(cmd+strlen(commands[i].name)) == '\0') {
					*CMD_ARG = '\0';
						break;
				}
				if (*(cmd+strlen(commands[i].name)) == ' ') {
					break;
				}
			}
		}

		if (i == SHELL_COMMANDS) {
			// Command not found
			if (cmd[0]) {
				kprintf("\n\r%s: command not found!!!\n\r", cmd);
			}
			continue;
		}

		switch(commands[i].index){
					case SH_HELP:
						kprintf("\nBlueShell version 0.1 - by David Davidson\n");
						for (i = 0; i < SHELL_COMMANDS; i++) {
							kprintf("\n- %s : %s", commands[i].name, commands[i].help);
						}
						kprintf("\n\n");
						break;
					case SH_UNAME:
						kprintf("\n%s - Kernel [v%s]\n", KERNEL_NAME, KERNEL_VERSION);
						break;

					case SH_CLEAR:
						kclrscr();
						break;

					case SH_REBOOT:
						reboot();
						break;

					case SH_READ:
						kprintf("%s command not yet Implemented.\n",cmd);
						break;

					case SH_WRITE:
						kprintf("%s command not yet Implemented.\n",cmd);
						break;

					case SH_PAGES:
						dump_dirty_pages();
						break;

					case SH_MEM:
						dump_memory_map();
						break;

					case SH_CHECKMEM:
						kprintf("%s command not yet Implemented.\n",cmd);
						break;

					case SH_FRAMES:
						dump_free_frames();
						break;

					case SH_EXEC:
						kprintf("%s command not yet Implemented.\n",cmd);
						break;

					case SH_V86EXEC:
						kprintf("%s command not yet Implemented.\n",cmd);
						break;

					case SH_TEST:
						kprintf("%s command not yet Implemented.\n",cmd);
						break;

					case SH_CPUID:
						kprintf("%s command not yet Implemented.\n",cmd);
						break;

					case SH_MOUNT:
						kprintf("%s command not yet Implemented.\n",cmd);
						break;

					case SH_LS:
						kprintf("%s command not yet Implemented.\n",cmd);
						break;

					case SH_CAT:
						kprintf("%s command not yet Implemented.\n",cmd);
						break;

					case SH_CD:
						kprintf("%s command not yet Implemented.\n",cmd);
						break;

					case SH_PS:
						ps();
						break;

					case SH_KILL:
						kprintf("%s command not yet Implemented.\n",cmd);
						break;

					case SH_PWD:
						kprintf("%s command not yet Implemented.\n",cmd);
						break;

				}
	}
}