Ver código fonte

Kernel+AK: Separate out MACAddress and move it into AK

AnotherTest 5 anos atrás
pai
commit
7d0bf9b5a9

+ 3 - 4
Kernel/Net/MACAddress.h → AK/MACAddress.h

@@ -29,7 +29,6 @@
 #include <AK/Assertions.h>
 #include <AK/String.h>
 #include <AK/Types.h>
-#include <LibBareMetal/StdLib.h>
 
 class [[gnu::packed]] MACAddress
 {
@@ -37,7 +36,7 @@ public:
     MACAddress() {}
     MACAddress(const u8 data[6])
     {
-        memcpy(m_data, data, 6);
+        __builtin_memcpy(m_data, data, 6);
     }
     MACAddress(u8 a, u8 b, u8 c, u8 d, u8 e, u8 f)
     {
@@ -58,7 +57,7 @@ public:
 
     bool operator==(const MACAddress& other) const
     {
-        return !memcmp(m_data, other.m_data, sizeof(m_data));
+        return !__builtin_memcmp(m_data, other.m_data, sizeof(m_data));
     }
 
     String to_string() const
@@ -79,7 +78,7 @@ static_assert(sizeof(MACAddress) == 6);
 
 namespace AK {
 
-template<>
+template <>
 struct Traits<MACAddress> : public GenericTraits<MACAddress> {
     static unsigned hash(const MACAddress& address) { return string_hash((const char*)&address, sizeof(address)); }
 };

+ 1 - 1
Kernel/Net/ARP.h

@@ -26,10 +26,10 @@
 
 #pragma once
 
+#include <AK/MACAddress.h>
 #include <AK/NetworkOrdered.h>
 #include <Kernel/Net/EtherType.h>
 #include <Kernel/Net/IPv4.h>
-#include <Kernel/Net/MACAddress.h>
 
 namespace Kernel {
 

+ 1 - 1
Kernel/Net/EthernetFrameHeader.h

@@ -26,8 +26,8 @@
 
 #pragma once
 
+#include <AK/MACAddress.h>
 #include <AK/NetworkOrdered.h>
-#include <Kernel/Net/MACAddress.h>
 
 #pragma GCC diagnostic ignored "-Warray-bounds"
 

+ 1 - 1
Kernel/Net/ICMP.h

@@ -26,8 +26,8 @@
 
 #pragma once
 
+#include <AK/MACAddress.h>
 #include <Kernel/Net/IPv4.h>
-#include <Kernel/Net/MACAddress.h>
 
 struct ICMPType {
     enum {

+ 1 - 1
Kernel/Net/NetworkAdapter.h

@@ -28,6 +28,7 @@
 
 #include <AK/ByteBuffer.h>
 #include <AK/Function.h>
+#include <AK/MACAddress.h>
 #include <AK/SinglyLinkedList.h>
 #include <AK/Types.h>
 #include <AK/WeakPtr.h>
@@ -36,7 +37,6 @@
 #include <Kernel/Net/ARP.h>
 #include <Kernel/Net/ICMP.h>
 #include <Kernel/Net/IPv4.h>
-#include <Kernel/Net/MACAddress.h>
 
 namespace Kernel {