3
0
mirror of https://github.com/Qortal/Brooklyn.git synced 2025-02-07 14:54:17 +00:00
Scare Crowe 2a709f28fa Auto exploit mitigation feature
* 0day explit mitigation
* Memory corruption prevention
* Privilege escalation prevention
* Buffer over flow prevention
* File System corruption defense
* Thread escape prevention

This may very well be the most intensive inclusion to BrooklynR. This will not be part of an x86 suite nor it will be released as tool kit. The security core toolkit will remain part of kernel base.
2021-11-13 09:26:51 +05:00

89 lines
2.1 KiB
C

/*
* NXP (Philips) SCC+++(SCN+++) serial driver
*
* Copyright (C) 2012 Alexander Shiyan <shc_work@mail.ru>
*
* Based on sc26xx.c, by Thomas Bogendörfer (tsbogend@alpha.franken.de)
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*/
#ifndef _PLATFORM_DATA_SERIAL_SCCNXP_H_
#define _PLATFORM_DATA_SERIAL_SCCNXP_H_
#define SCCNXP_MAX_UARTS 2
/* Output lines */
#define LINE_OP0 1
#define LINE_OP1 2
#define LINE_OP2 3
#define LINE_OP3 4
#define LINE_OP4 5
#define LINE_OP5 6
#define LINE_OP6 7
#define LINE_OP7 8
/* Input lines */
#define LINE_IP0 9
#define LINE_IP1 10
#define LINE_IP2 11
#define LINE_IP3 12
#define LINE_IP4 13
#define LINE_IP5 14
#define LINE_IP6 15
/* Signals */
#define DTR_OP 0 /* DTR */
#define RTS_OP 4 /* RTS */
#define DSR_IP 8 /* DSR */
#define CTS_IP 12 /* CTS */
#define DCD_IP 16 /* DCD */
#define RNG_IP 20 /* RNG */
#define DIR_OP 24 /* Special signal for control RS-485.
* Goes high when transmit,
* then goes low.
*/
/* Routing control signal 'sig' to line 'line' */
#define MCTRL_SIG(sig, line) ((line) << (sig))
/*
* Example board initialization data:
*
* static struct resource sc2892_resources[] = {
* DEFINE_RES_MEM(UART_PHYS_START, 0x10),
* DEFINE_RES_IRQ(IRQ_EXT2),
* };
*
* static struct sccnxp_pdata sc2892_info = {
* .mctrl_cfg[0] = MCTRL_SIG(DIR_OP, LINE_OP0),
* .mctrl_cfg[1] = MCTRL_SIG(DIR_OP, LINE_OP1),
* };
*
* static struct platform_device sc2892 = {
* .name = "sc2892",
* .id = -1,
* .resource = sc2892_resources,
* .num_resources = ARRAY_SIZE(sc2892_resources),
* .dev = {
* .platform_data = &sc2892_info,
* },
* };
*/
/* SCCNXP platform data structure */
struct sccnxp_pdata {
/* Shift for A0 line */
const u8 reg_shift;
/* Modem control lines configuration */
const u32 mctrl_cfg[SCCNXP_MAX_UARTS];
/* Timer value for polling mode (usecs) */
const unsigned int poll_time_us;
};
#endif