forked from xamidev/pepperOS
Function comments (v1)
This commit is contained in:
@@ -9,11 +9,25 @@
|
||||
|
||||
extern struct init_status init;
|
||||
|
||||
/*
|
||||
* outb - Writes a byte to a CPU port
|
||||
* @port: CPU port to write to
|
||||
* @data: Byte to write
|
||||
*
|
||||
* Writes a single byte to the serial interface.
|
||||
*/
|
||||
void outb(int port, unsigned char data)
|
||||
{
|
||||
__asm__ __volatile__("outb %%al, %%dx" :: "a" (data),"d" (port));
|
||||
}
|
||||
|
||||
/*
|
||||
* inb - Gets a byte in through a CPU port
|
||||
* @port: The CPU port to get a byte from
|
||||
*
|
||||
* Return:
|
||||
* <data> - byte got from port
|
||||
*/
|
||||
unsigned char inb(int port)
|
||||
{
|
||||
unsigned char data = 0;
|
||||
@@ -21,6 +35,13 @@ unsigned char inb(int port)
|
||||
return data;
|
||||
}
|
||||
|
||||
/*
|
||||
* serial_init - Initializes serial interface
|
||||
*
|
||||
* Return:
|
||||
* %-EIO - Input/output error
|
||||
* %0 - Success
|
||||
*/
|
||||
int serial_init()
|
||||
{
|
||||
outb(PORT + 1, 0x00); // Disable all interrupts
|
||||
@@ -45,12 +66,23 @@ int serial_init()
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* is_transmit_empty - Check if the serial transmit register is empty
|
||||
*
|
||||
* Return: Non-zero if the transmit register is empty and a new
|
||||
* byte can be written to the serial port, 0 otherwise.
|
||||
*/
|
||||
static int is_transmit_empty()
|
||||
{
|
||||
return inb(PORT + 5) & 0x20;
|
||||
}
|
||||
|
||||
// Serial kernel putchar
|
||||
/*
|
||||
* skputc - Serial kernel putchar
|
||||
* @c: character to write
|
||||
*
|
||||
* Writes a single character to the serial interface.
|
||||
*/
|
||||
void skputc(char c)
|
||||
{
|
||||
// TODO: Spinlock here (serial access)
|
||||
@@ -58,7 +90,12 @@ void skputc(char c)
|
||||
outb(PORT, c);
|
||||
}
|
||||
|
||||
// Serial kernel putstring
|
||||
/*
|
||||
* skputs - Serial kernel puts
|
||||
* @str: Message to write
|
||||
*
|
||||
* Writes a non-formatted string to serial output.
|
||||
*/
|
||||
void skputs(const char* str)
|
||||
{
|
||||
unsigned int i=0;
|
||||
|
||||
Reference in New Issue
Block a user