VirtualPS/2 VMware VMMouse
  "   !ˆl–Ü4ý()¨‰P@Š	›Œ‚ãaS�ÿÈƒh¹¿Æ      !0100000000000000000000000000110010000000000000000000000000000000
  "   #ˆl–Ü4ý()¨‰P@Š	›‚zàS�ÿÉƒh¹ÀÇ      #nr_free_pages 541678
nr_zone_inactive_anon 126429
nr_zone_active_anon 507449
nr_zone_inactive_file 478121
nr_zone_active_file 125319
nr_zone_unevictable 1019
nr_zone_write_pending 196
nr_mlock 19
nr_bounce 0
nr_zspages 0
nr_free_cma 0
nr_unaccepted 0
numa_hit 68180893549
numa_miss 0
numa_foreign 0
numa_interleave 974
numa_local 68180938872
numa_other 0
nr_inactive_anon 126429
nr_active_anon 507446
nr_inactive_file 478121
nr_active_file 125319
nr_unevictable 1019
nr_slab_reclaimable 108614
nr_slab_unreclaimable 45998
nr_isolated_anon 0
nr_isolated_file 0
workingset_nodes 50447
workingset_refault_anon 16629814
workingset_refault_file 141404989
workingset_activate_anon 4968235
workingset_activate_file 50403400
workingset_restore_anon 4963958
workingset_restore_file 20382672
workingset_nodereclaim 3989070
nr_anon_pages 589021
nr_mapped 31692
nr_file_pages 677020
nr_dirty 196
nr_writeback 0
nr_writeback_temp 0
nr_shmem 11506
nr_shmem_hugepages 0
nr_shmem_pmdmapped 0
nr_file_hugepages 0
nr_file_pmdmapped 0
nr_anon_transparent_hugepages 280
nr_vmscan_write 24150359
nr_vmscan_immediate_reclaim 6
nr_dirtied 981472628
nr_written 1000523141
nr_throttled_written 0
nr_kernel_misc_reclaimable 0
nr_foll_pin_acquired 23219
nr_foll_pin_released 23219
nr_kernel_stack 9584
nr_page_table_pages 5025
nr_sec_page_table_pages 0
nr_iommu_pages 0
nr_swapcached 62069
pgpromote_success 0
pgpromote_candidate 0
  	   %ˆÊÉ0ÀÇ  	   'ˆÃÉ0ÀÇ     )ˆÊÉ716ÄÀÇ Ì    )/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _NET_INET_DATALINK_H_
#define _NET_INET_DATALINK_H_

#include <linux/list.h>

struct llc_sap;
struct net_device;
struct packet_type;
struct sk_buff;

struct datalink_proto {
        unsigned char   type[8];

	struct llc_sap   *sap;

        unsigned short  header_length;

        int     (*rcvfunc)(struct sk_buff *, struct net_device *,
                                struct packet_type *, struct net_device *);
	int     (*request)(struct datalink_proto *, struct sk_buff *,
                                        unsigned char *);
	struct list_head node;
};

struct datalink_proto *make_EII_client(void);
void destroy_EII_client(struct datalink_proto *dl);
#endif
     +ˆÊÉƒt5ÄÀÇ ˜    +/* SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) */
/*
 * Copyright (c) 2018 Mellanox Technologies. All rights reserved.
 */

#ifndef _MLX5_ESWITCH_
#define _MLX5_ESWITCH_

#include <linux/mlx5/driver.h>
#include <linux/mlx5/vport.h>
#include <net/devlink.h>

#define MLX5_ESWITCH_MANAGER(mdev) MLX5_CAP_GEN(mdev, eswitch_manager)

enum {
	MLX5_ESWITCH_LEGACY,
	MLX5_ESWITCH_OFFLOADS
};

enum {
	REP_ETH,
	REP_IB,
	NUM_REP_TYPES,
};

enum {
	REP_UNREGISTERED,
	REP_REGISTERED,
	REP_LOADED,
};

enum mlx5_switchdev_event {
	MLX5_SWITCHDEV_EVENT_PAIR,
	MLX5_SWITCHDEV_EVENT_UNPAIR,
};

struct mlx5_eswitch_rep;
struct mlx5_eswitch_rep_ops {
	int (*load)(struct mlx5_core_dev *dev, struct mlx5_eswitch_rep *rep);
	void (*unload)(struct mlx5_eswitch_rep *rep);
	void *(*get_proto_dev)(struct mlx5_eswitch_rep *rep);
	int (*event)(struct mlx5_eswitch *esw,
		     struct mlx5_eswitch_rep *rep,
		     enum mlx5_switchdev_event event,
		     void *data);
};

struct mlx5_eswitch_rep_data {
	void *priv;
	atomic_t state;
};

struct mlx5_eswitch_rep {
	struct mlx5_eswitch_rep_data rep_data[NUM_REP_TYPES];
	u16		       vport;
	u16		       vlan;
	/* Only IB rep is using vport_index */
	u16		       vport_index;
	u32		       vlan_refcount;
	struct                 mlx5_eswitch *esw;
};

void mlx5_eswitch_register_vport_reps(struct mlx5_eswitch *esw,
				      const struct mlx5_eswitch_rep_ops *ops,
				      u8 rep_type);
void mlx5_eswitch_unregister_vport_reps(struct mlx5_eswitch *esw, u8 rep_type);
void *mlx5_eswitch_get_proto_dev(struct mlx5_eswitch *esw,
				 u16 vport_num,
				 u8 rep_type);
struct mlx5_eswitch_rep *mlx5_eswitch_vport_rep(struct mlx5_eswitch *esw,
						u1