From 6bd3beadf29af53a77f57beaf8f26fb14e226b41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Drago=C8=99=20Iulian=20ARGINT?= Date: Wed, 12 Apr 2023 14:19:26 +0300 Subject: [PATCH] Documentation: assign2: Update 2-uart docs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update deadline for 2023 * Update links Signed-off-by: DragoČ™ Iulian ARGINT --- Documentation/teaching/index.rst | 2 +- .../teaching/so2/assign2-driver-uart.rst | 54 ++++++++----------- 2 files changed, 22 insertions(+), 34 deletions(-) diff --git a/Documentation/teaching/index.rst b/Documentation/teaching/index.rst index e81a9a0cf0b562..7aff565550bf3e 100644 --- a/Documentation/teaching/index.rst +++ b/Documentation/teaching/index.rst @@ -1,5 +1,5 @@ ===================== -Linux Kernel Teaching +Linux Kernel Teaching And Learning ===================== This is a collection of lectures and labs Linux kernel topics. The diff --git a/Documentation/teaching/so2/assign2-driver-uart.rst b/Documentation/teaching/so2/assign2-driver-uart.rst index d9c54e112863be..cd8dfe25d36a1a 100644 --- a/Documentation/teaching/so2/assign2-driver-uart.rst +++ b/Documentation/teaching/so2/assign2-driver-uart.rst @@ -2,8 +2,8 @@ Assignment 2 - Driver UART ========================== -- Deadline: :command:`Tuesday, 19 April 2022, 23:00` -- This assignment can be made in teams (max 2). Only one of them must submit the assignment, and the names of the student should be listed in a README file. +- Deadline: :command:`Sunday, 30 April 2023, 23:00` +- The assigment is individual Assignment's Objectives ======================= @@ -58,7 +58,7 @@ Implementation Details - to learn how to pass parameters in Linux, see `tldp `__ - the default values are `major=42` and `option=OPTION_BOTH`. - the interrupt number associated with COM1 is 4 (`IRQ_COM1`) and the interrupt number associated with COM2 is 3 (`IRQ_COM2`) -- `the header `__ with the definitions needed for special operations; +- `the header `__ with the definitions needed for special operations; - a starting point in implementing read / write routines is the `example `__ of uppercase / lowercase character device driver; the only difference is that you have to use two buffers, one for read and one for write; - you can use `kfifo `__ for buffers; - you do not have to use deferred functions to read / write data from / to ports (you can do everything from interrupt context); @@ -72,19 +72,20 @@ Implementation Details Testing ======= -In order to simplify the assignment evaluation process, but also to reduce the mistakes of the -submitted assignments, the assignment evaluation will be done automatically with with the help of -public tests that are in the new infrastructure. For local testing, use the following commands: +In order to simplify the assignment evaluation process, but also to reduce the mistakes of the submitted assignments, +the assignment evaluation will be done automatically with the help of a +`test script `__ called `_checker`. +The test script assumes that the kernel module is called `uart16550.ko`. -.. code-block:: console +QuickStart +========== + +It is mandatory to start the implementation of the assignment from the code skeleton found in the `src `__ directory. +There is only one header in the skeleton called `uart16550.h `__. +You will provide the rest of the implementation. You can add as many `*.c`` sources and additional `*.h`` headers. +You should also provide a Kbuild file that will compile the kernel module called `uart16550.ko`. +Follow the instructions in the `README.md file `__ of the `assignment's repo `__. - $ git clone https://github.com/linux-kernel-labs/linux.git - $ cd linux/tools/labs - $ LABS=assignments/2-uart make skels - $ #the development of the assignment will be written in the 2-uart directory - $ make build - $ make copy - $ make boot Tips ---- @@ -127,10 +128,10 @@ and if the assigment does not pass all the tests, the grade will may decrease mo Submitting the assigment ------------------------ -The assignment archive will be submitted to vmchecker, according to the rules on the -`rules page `__. +The assignment will be graded automatically using the `vmchecker-next `__ infrastructure. +The submission will be made on moodle on the `course's page `__ to the related assignment. +You will find the submission details in the `README.md file `__ of the `repo `__. -From the vmchecker interface choose the `Driver UART` option for this assigment. Resources ========= @@ -141,24 +142,11 @@ Resources - `alternative documentation `__ We recommend that you use gitlab to store your homework. Follow the directions in -`README `__ -and on the dedicated `git wiki page `__. +`README `__. -The resources for the assignment can also be found in the `so2-assignments `__ repo on GitHub. -The repo contains a `Bash script `__ -that helps you create a private repository on the faculty `GitLab `__ instance. -Follow the tips from the `README `__ and -on the dedicated `Wiki page `__. Questions ========= -For questions about the assigment, you can consult the mailing `list archives `__ -or send an e-mail (you must be `registered `__). -Please follow and follow `the tips for use of the list `__. - -Before you ask a question, make sure that: - - - you have read the statement of the assigment well - - the question is not already presented on the `FAQ page `__ - - the answer cannot be found in the `mailing list archives `__ +For questions about the topic, you can consult the mailing `list archives `__ +or you can write a question on the dedicated Teams channel.