Skip to content

Commit fdef8d0

Browse files
supercomputer7linusg
authored andcommitted
Kernel: Move PCSpeaker code to the x86-specific architecture directory
The PCSpeaker code is specific to x86 platforms, thus it makes sense to put in the Arch/x86 subdirectory.
1 parent 1596ee2 commit fdef8d0

File tree

5 files changed

+14
-4
lines changed

5 files changed

+14
-4
lines changed

Kernel/Devices/PCSpeaker.cpp renamed to Kernel/Arch/x86/common/PCSpeaker.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
*/
66

77
#include <Kernel/Arch/x86/IO.h>
8-
#include <Kernel/Devices/PCSpeaker.h>
8+
#include <Kernel/Arch/x86/common/PCSpeaker.h>
99
#include <Kernel/Time/PIT.h>
1010

1111
void PCSpeaker::tone_on(int frequency)
File renamed without changes.

Kernel/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ set(KERNEL_SOURCES
5959
Devices/MemoryDevice.cpp
6060
Devices/NullDevice.cpp
6161
Devices/PCISerialDevice.cpp
62-
Devices/PCSpeaker.cpp
6362
Devices/RandomDevice.cpp
6463
Devices/SelfTTYDevice.cpp
6564
Devices/SerialDevice.cpp
@@ -335,6 +334,7 @@ if ("${SERENITY_ARCH}" STREQUAL "i686" OR "${SERENITY_ARCH}" STREQUAL "x86_64")
335334
Arch/x86/common/DebugOutput.cpp
336335
Arch/x86/common/Delay.cpp
337336
Arch/x86/common/I8042Reboot.cpp
337+
Arch/x86/common/PCSpeaker.cpp
338338
Arch/x86/common/RTC.cpp
339339
Arch/x86/common/ScopedCritical.cpp
340340
Arch/x86/common/SmapDisabler.cpp

Kernel/Syscalls/beep.cpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
*/
66

77
#include <Kernel/CommandLine.h>
8-
#include <Kernel/Devices/PCSpeaker.h>
8+
#if ARCH(I386) || ARCH(X86_64)
9+
# include <Kernel/Arch/x86/common/PCSpeaker.h>
10+
#endif
911
#include <Kernel/Process.h>
1012

1113
namespace Kernel {
@@ -15,12 +17,16 @@ ErrorOr<FlatPtr> Process::sys$beep()
1517
VERIFY_NO_PROCESS_BIG_LOCK(this);
1618
if (!kernel_command_line().is_pc_speaker_enabled())
1719
return ENODEV;
20+
#if ARCH(I386) || ARCH(X86_64)
1821
PCSpeaker::tone_on(440);
1922
auto result = Thread::current()->sleep(Time::from_nanoseconds(200'000'000));
2023
PCSpeaker::tone_off();
2124
if (result.was_interrupted())
2225
return EINTR;
2326
return 0;
27+
#else
28+
return ENOTIMPL;
29+
#endif
2430
}
2531

2632
}

Kernel/TTY/VirtualConsole.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,13 @@
88

99
#include <AK/StdLibExtras.h>
1010
#include <Kernel/Arch/Delay.h>
11+
#if ARCH(I386) || ARCH(X86_64)
12+
# include <Kernel/Arch/x86/common/PCSpeaker.h>
13+
#endif
1114
#include <Kernel/CommandLine.h>
1215
#include <Kernel/Debug.h>
1316
#include <Kernel/Devices/DeviceManagement.h>
1417
#include <Kernel/Devices/HID/HIDManagement.h>
15-
#include <Kernel/Devices/PCSpeaker.h>
1618
#include <Kernel/Graphics/GraphicsManagement.h>
1719
#include <Kernel/Heap/kmalloc.h>
1820
#include <Kernel/Sections.h>
@@ -327,9 +329,11 @@ void VirtualConsole::beep()
327329
{
328330
if (!kernel_command_line().is_pc_speaker_enabled())
329331
return;
332+
#if ARCH(I386) || ARCH(X86_64)
330333
PCSpeaker::tone_on(440);
331334
microseconds_delay(10000);
332335
PCSpeaker::tone_off();
336+
#endif
333337
}
334338

335339
void VirtualConsole::set_window_title(StringView)

0 commit comments

Comments
 (0)