This repository has been archived on 2025-04-11. You can view files and clone it, but cannot push or open issues or pull requests.
csce410pine64backup/MP3/MP3_Sources
2017-07-06 19:12:30 -05:00
..
assert.C Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
assert.H Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
BIOS-bochs-latest Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
bochsrc.bxrc Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
console.C Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
console.H Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
cont_frame_pool.C Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
cont_frame_pool.H Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
copykernel.sh Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
dev_kernel_grub.img Since cont_frame_pool isn't working properly, making new implementation with simple_frame_pool as instructed. 2017-07-06 19:12:30 -05:00
exceptions.C Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
exceptions.H Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
gdt.C Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
gdt.H Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
gdt_low.asm Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
idt.C Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
idt.H Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
idt_low.asm Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
interrupts.C Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
interrupts.H Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
irq.C Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
irq.H Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
irq_low.asm Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
kernel.C All implemented. Cannot resolve issue with process_mem_pool. Turning in anyway. 2017-06-28 00:20:59 -05:00
linker.ld Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
machine.C Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
machine.H Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
machine_low.asm Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
machine_low.H Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
makefile Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
page_table.C All implemented. Cannot resolve issue with process_mem_pool. Turning in anyway. 2017-06-28 00:20:59 -05:00
page_table.H Removing thought added in page_table.H 2017-06-27 02:38:39 -05:00
paging_low.asm Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
paging_low.H Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
README.TXT Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
simple_keyboard.C Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
simple_keyboard.H Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
simple_timer.C Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
simple_timer.H Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
start.asm Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
tempc Since cont_frame_pool isn't working properly, making new implementation with simple_frame_pool as instructed. 2017-07-06 19:12:30 -05:00
temph Since cont_frame_pool isn't working properly, making new implementation with simple_frame_pool as instructed. 2017-07-06 19:12:30 -05:00
utils.C Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
utils.H Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00
VGABIOS-lgpl-latest Initial definition of most functions. Debugging page table setup. 2017-06-26 23:58:19 -05:00

CSCE 410/611/613: MP2 -- README.TXT

This file describes the content of this directory.
A file marked with (*) may be of some interest to the 
student, and he/she may want to have a look at it.
A file marked with (**) is important for this MP, and the
student is strongly encouraged to study the contents of this file.

BOCH Environment:
=================

FILE: 			DESCRIPTION:

BIOS-bochs-latest	BIOS file.
VGABIOS-lgpl-latest	BIOS file for the graphics system.
dev_kernel_grub.img	Image file of the boot floopy.
bochsrc.bxrc		Description file for the system. 
			Type 'bochs -f bochsrc.bxrc' to
			start emulation.

COMPILATION:
===========

FILE: 			DESCRIPTION:

makefile (**)		Makefile for Linux 64-bit environment.
	 		Works with the provided linux image. 
		        Type "make" to create the kernel.
linker.ld		The linker script.

OS COMPONENTS:
=============

FILE: 			DESCRIPTION:

start.asm (*)		The bootloader starts code in this file, which in turn
		  	jumps to the main entry in File "kernel.C".
kernel.C (**)		Main file, where the OS components are set up, and the
                        system gets going.

assert.H/C		Implements the "assert()" utility.
utils.H/C		Various utilities (e.g. memcpy, strlen, 
                        port I/O, etc.)
console.H/C		Routines to print to the screen.

machine.H (*)		Definitions of some system constants and low-level
			machine operations. 
			(Primarily memory sizes, register set, and
                        enable/disable interrupts)
gdt.H/C			Global Descriptor Table.
gdt_low.asm		Low-level GDT code, included in "start.asm".
idt.H/C			Interrupt Descriptor Table.
idt_low.asm		Low-level IDT code, included in "start.asm".
irq.H/C                 mapping of IRQ's into the IDT.
irq_low.asm		Low-level IRQ stuff. (Primarily the interrupt service
			routines and the routine stub that branches out to the
		        interrupt dispatcher in "interrupts.C". Included in
  			"start.asm".
			
exceptions.H/C (*)	The exception dispatcher.
interrupts.H/C		The interrupt dispatcher.

console.H/C		Routines to print to the screen.

simple_timer.H/C (*)	Routines to control the periodic interval
		 	timer. This is an example of an interrupt 
			handler.

simple_keyboard.H/C(*)  Routines to access the keyboard. Primarily as
			way to wait until user presses key.

machine_low.H/asm       Various low-level x86 specific stuff.

paging_low.H/asm (**)	Low-level code to control the registers needed for 
			memory paging.

page_table.H/C (**)	Definition and empty implementation of a
                        page table manager. In addition to interface,
                        the .H file defines a few private members that 
                        should guide the implementation.
 
cont_frame_pool.H/C(**) Definition and empty implementation of a
			 physical frame memory manager that
			 supports contiguous
			 allocation. NOTE that the comments in
			 the implementation file give a recipe
			 of how to implement such a frame pool.
				 

UTILITIES:
==========

FILE: 			DESCRIPTION:

copykernel.sh (**)	Simple script to copy the kernel onto
	      		the floppy image.
                        The script mounts the floppy image, copies the kernel
			image onto it, and then unmounts the floppy image again.
  			In rare cases the paths in the file may need to be 
			edited to make them reflect the student's environment.