-
Notifications
You must be signed in to change notification settings - Fork 98
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
0856167 Lab 07 08 #240
Open
Yunyung
wants to merge
11
commits into
GrassLab:0856167
Choose a base branch
from
Yunyung:LAB-08
base: 0856167
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
0856167 Lab 07 08 #240
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
In Lab7, we implement FAT32 file system with sd card hardware device. Implement the following features: 1. Implement FAT32 file system that meet the VFS interface. 2. Access sd card by simple sd card device driver (Provided by TA). 3. Mount the fat32 to VFS from sd card. 4. Read/Parse Master Boot Record(MBR) and FAT32 boot sector. 5. Open/Read/Write/Create a file in FAT32 and sd card. 6. Cache the directory entry read from device in memory for pathname lookup (Eletive 4-1). 7. Add some test files in "./sdcard" folder and build some test cases.
Initialize the memory management unit(MMU) and set up the address spaces for the kernel and user processes to achieve process isolation 1. Set up TCR_EL1 and mair_el1 system register for configuring MMU 2. Modify linker script to meet MMU configs 3. Set up identity paging. 4. Linear map kernel with three layer translation(secotion mapping, 2MB) granularity
Requirement2: - Implement user space paging. - Revisit fork() and exec() to map the same virtual address to different physical addresses for different processes. - Set ttbr0_el1 to switch the user space page table and address space in context switches. - Implement a simple page fault handler. - Write test cases for fork and exec syscalls. Elective3, Imeplement Page Fault Handler & Demand Paging: - (Segmentation fault) If the fault address is not part of any region in the process’s address space, process will be killed. - (Demand paging) If it’s part of one region, map one page frame for the fault address. It's tested and occured by stack page allocation, because we not allocate page for stack when create process.
The reason why program run on hardware failure is that uart read interrupt might be triggered continously when we initalize rpi3 hardware. Sometimes there are a random char is generated during booting rpi3 for no reason(We can't find the reason)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
↓↓↓ Notice ↓↓↓
${student id} ${which lab}
0756110 lab0
↑↑↑ Notice ↑↑↑
Description
a few message for overall goals of this pull request
Todos
@GrassLab/ta